PCF8574 Routine in C

Gast #257253
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren