Hay @all Ich habe eine Frage ich habe einen PCF8574P an meinen Mega16. Nun möchte ich an diesen IC LED´s Ansteuern. Im Normalfall geht das ja im Mega16 mit PORTA.1=0 oder =1 Aber wie funktioniert es den bei der I2C Sache.??? Angafangen habe ich schon mal mit den Standart Werten. #define EEPROM_BUS_ADDRESS 0xa0 /* read a byte from the EEPROM */ unsigned char eeprom_read(unsigned char address) { unsigned char data; i2c_start(); i2c_write(EEPROM_BUS_ADDRESS); i2c_write(address); i2c_start(); i2c_write(EEPROM_BUS_ADDRESS | 1); data=i2c_read(0); i2c_stop(); return data; } /* write a byte to the EEPROM */ void eeprom_write(unsigned char address, unsigned char data) { i2c_start(); i2c_write(EEPROM_BUS_ADDRESS); i2c_write(address); i2c_write(data); i2c_stop(); /* 10ms delay to complete the write operation */ delay_ms(10); } Die Adresse A0 Stimmt. da ich A0-A2 auf GND geschlossen habe. Aber nun komme ich mit dem Befehlen nicht zurecht Sprich: eeprom_write(address,data); die kann ich die LED´s ein und aus schalten? MFG: Fichte
Hi, die Adressbereich vom PCF8574 geht von fängt bei 0x40 an. 0xA0 ist eine Adresse eines EEPORMs. Gruss Andreas
Hi, wo hast Du denn den EEPROM_Write Befehl her? Wenn ich mich recht entsinne musst Du zuerst schreiben (auch wenn Du die Pins als Eingang benutzt) und kannst dann zurücklesen. Gruss Andreas
Also die befehele sind im Codevision in der Hilfe Datei so vorzufinden. Ob da nun EEPROM_Write oder was anderes steht denke ich mal ist doch egal Hauptsache ist doch das er auf den I2C schreibt oder liest oder? MFG: Fichte
wie kommt man eigentlich auf die adresse 0x40, also ich hab im datenblatt (Seite 9) geschaut und da ist die slave adresse 0b0100A2A1A0, d.h. die adresse müsste doch 0x20 bis 0x27 sein, oder täusch ich mich? gruß eugen
ich glaub ich seh es, bei 0x20 beginnt die slave adresse und bei 0x40 gehen die daten los. Das heißt data 1 geht bei 0x40 los, data 2 müsste ja dann bei 0x4000 starten oder? gruß eugen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.