Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C Frage
Hallo,
Könnte mir einer von euch erklären wie ich den PCF 8574 P IC mit einem atmega32 benutzen kann ?
Ich Programmiere in bascom.
Ich stelle mir das folgender massen vor(ob das wirklich geht weiß ich nicht), über mein Programm auf dem Atmega32 möchte ich jeden Pin einzelnt an und ausschalten.
Hoffentlich versteht man was ich suche.
Vielen Dank schon mal für eure hilfe.
Gruß maus
Andree-HB
16.06.2008, 10:25
...herzlichen Glückwunsch zu so einem ersten Posting - gib doch einfach mal den Begriff "PCF8574" in der Suche ein und schaue, was dann passiert !
...dennoch - wilkommen im Forum !
Hi,
Jup, dort findet sich aber nicht das was ich suche :(
Hallo,
ganz einfach:
I2csend Slave , Variable , 1
Slave ist die Hardwareadresse und Variable ist eine Bytewert (der dann an den Ausgängen anliegt). Die Bits in "Variable" musst du einfach dementsprechend setzen, welchen PIN du ein- oder ausschalten willst.
Hallo,
Mein code sieht gerade so aus:
$regfile = "M32def.dat"
$crystal = 4000000
$baud = 9600
Config Scl = Portc.0
Config Sda = Portc.1
Dim Variable As Bit
I2csend Slave , Variable , 1
End
Irgendwas ist daran falsch, beim Compilieren kommt schon ein fehler, ich vermute mal das ich das nicht ganz verstanden habe, was du meinst.
Gruß Maus
wenn ich die Forum suche benutze finde ich 53 ergebnise zum "PCF8574" im forum "Basic Programmierung (Bascom Compiler)". Ich kann mir nicht vorstellen das da nichts zu findne ist. Auf jeden fall wirst du aber hier https://www.roboternetz.de/wissen/index.php/Bascom_I2C_Master antworten findne
Der Fehler an dem Code dürfte sein, dass "Variable" in Bit und kein Byte ist.
Hallo,
genau. Variable muss als Byte definiert sein. Und Slave musst du auch irgendwo festlegen.
Hallo,
Vielen Dank für deine Hilfe, aber was ich auch nicht verstehe ist das mit den Adresse. Mein Problem ist halt ich finde keine wirkliche Beschreibung dazu.
Über aufklärung würde ich mich freuen.
Gruß Maus
Hallo,
dann hast du nicht richtig gesucht! Die Adresse wird als erstes Byte nach der Startsequenz übergeben. Der PCF hat die feste Adresse &B0100, gefolgt von der Subadresse, welche du über die Adresspins A0 bis A2 festlegst. Danach kommt das Lese/Schreibbit. Wenn du den angegebenen Bascom-Hochbefehl nimmst, kannst du das Lese/Schreibbit auf 0 lassen. Diese 8 Bits ergeben somit genau ein Byte.
Du kannst übrigens auch schreiben:
I2cstart
I2cwbyte Slave
I2cwbyte Variable
I2cstop
Das bewirkt das gleiche wie I2csend slave, variable, 1.
PS: Hast du das Datenblatt zum Baustein schon gelesen? Vermutlich nicht :-k Solltest du aber dringend nachholen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.