madangdive
05.01.2010, 22:03
Hallo!
Das Schreiben mit einem PCF8574 funktioniert schon!
Jedoch das Lesen bringe ich nicht zum Laufen, aber warum?
Verwende die Header-Datei von "http://jump.to/fleury" (i2cmaster.h)
Als Entwicklungsumg. nehme ich das AVR-Studio V14 und probiere mich in C!
Ich möchte einen Port einlesen und das eingelesene wieder ausgeben!
Bitte um Hilfe
Danke Mad!
#define READ_ADRESSE_1 0x41 // A0 GND --> A1 GND --> A2 GND
#define WRITE_ADRESSE_2 0x42 // A0 +5V --> A1 GND --> A2 GND
int main()
{
i2c_init(); //initialize I2C
uint8_t wert=0; // Für Lesen des PCF-Wertes
//lese aus PCF 8574 Modul
i2c_rep_start(READ_ADRESSE_1+I2C_READ); // set device address
wert = i2c_readNak();
i2c_stop();
//schreibe auf PCF 8574 Modul
i2c_start_wait(WRITE_ADRESSE_2+I2C_WRITE);
i2c_write(wert);
i2c_stop();
_delay_ms(2000);
PORTC = wert;
_delay_ms (1000);
PORTC = 0;
_delay_ms (1000);
Das Schreiben mit einem PCF8574 funktioniert schon!
Jedoch das Lesen bringe ich nicht zum Laufen, aber warum?
Verwende die Header-Datei von "http://jump.to/fleury" (i2cmaster.h)
Als Entwicklungsumg. nehme ich das AVR-Studio V14 und probiere mich in C!
Ich möchte einen Port einlesen und das eingelesene wieder ausgeben!
Bitte um Hilfe
Danke Mad!
#define READ_ADRESSE_1 0x41 // A0 GND --> A1 GND --> A2 GND
#define WRITE_ADRESSE_2 0x42 // A0 +5V --> A1 GND --> A2 GND
int main()
{
i2c_init(); //initialize I2C
uint8_t wert=0; // Für Lesen des PCF-Wertes
//lese aus PCF 8574 Modul
i2c_rep_start(READ_ADRESSE_1+I2C_READ); // set device address
wert = i2c_readNak();
i2c_stop();
//schreibe auf PCF 8574 Modul
i2c_start_wait(WRITE_ADRESSE_2+I2C_WRITE);
i2c_write(wert);
i2c_stop();
_delay_ms(2000);
PORTC = wert;
_delay_ms (1000);
PORTC = 0;
_delay_ms (1000);