TWI und nichts funktioniert

Gast #3119205
Lesenswert?

Moinmoin,

Ich möchte gerne Bytes auf einen 24LC256 EEPROM IC mit einem Atmega32 
schreiben und - vorerst - einfacherweise wieder auslesen. Zur Verfügung 
habe ich ein Atmel Evaluation Board, wo mein Atmega32 und mein EEPROM 
drauf sitzen.

Er kommt noch nicht mehr hinter das Bestätigen der Start Condition und 
hängt sich beim Abfragen von TWINT in der while Schleife auf.

Habe ich etwas nicht initialisiert? Liegt der Fehler eventuell 
hardwareseitig?

int main(void)
{
    uart_init() //...

    TWBR=12;    //I2C-Frequenz (16mHz F_CPU, 400kHz SCL --> 12)
    TWSR=0;

    TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); //Start Condition
    while  (!(TWCR & (1<<TWINT)));

    //Bis hier kommt er gar nicht erst.

    if ((TWSR & 0xF8) != TW_START)
  twi_error();

    .
    .
    .
}

Danke für für Hinweise.
Jabu

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