I2C: StartCondition bleibt stecken
Hallo zusammen,
ich habe ein Problem mit I2C und zwar, bleibt meine MCU in der StartCondition stecken.
Die MCU ist ein AtMega644 und I2C-Slave ist ein DS1307. An den SCL und SDA ist jeweils ein 10k Widerstand.
Init-Routine:
Und hier ist die StartCondition:
In der While bleibt er stehen und kommt nicht mehr raus.
Habt Ihr eine Idee woran das liegen könnte?
Danke & Grüsse
Heinrich
Hallo zusammen,
ich habe ein Problem mit I2C und zwar, bleibt meine MCU in der StartCondition stecken.
Die MCU ist ein AtMega644 und I2C-Slave ist ein DS1307. An den SCL und SDA ist jeweils ein 10k Widerstand.
Init-Routine:
Code:
void i2c_init (void) {
TWSR = 0;
TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
TWCR = (1 << TWEN);
}
Und hier ist die StartCondition:
Code:
void i2c_start (void) {
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); // Senden der Start-Condition
while (!(TWCR & (1<<TWINT))); // Warten bis übertragen
}
In der While bleibt er stehen und kommt nicht mehr raus.
Habt Ihr eine Idee woran das liegen könnte?
Danke & Grüsse
Heinrich