I2C Problem (Anfänger )

Gast #1338968
Lesenswert?

Hallo,

ich versuche seit kurzem mich mit I2C auseinanderzusetzten. Leider komme 
ich damit im Moment nicht weiter. Ich benutzte einen Atmel Atmega 128 
und will über ihn ein LCD ansteuern (Adresse 0x10). Das ganze läuft in 
einer Software umgebung ab. Mein Code bleibt aber hängen, wenn er auf 
das Ende der Übertragung von START wartet. Ich habe aber keine Ahnung 
warum.
Hier ein kleiner Ausschnitt aus dem source an dieser Stelle.

Initialisieren
1
PIND |=  (1<< 0) | (1<< 1);
2
PORTD |= (1<< 0) | (1<< 1);  // Interne Pull-Up fuer SDA/SCL
3
TWSR = 0;      //Kein Prescaler
4
TWBR = 84;                      //Setzen der Baudrate (eigentlich 84,16 aber abgerundet)

Problem tritt wie gesagt an der while schleife auf
1
uint8_t   twst;
2

3
// send START condition
4
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
5

6
// wait until transmission completed
7
while(!(TWCR & (1<<TWINT)));

Im Anhang ist auch mein kompletter Source, wenn das hier nicht ausreicht 
:)

Gruß,
meddins
Angehängte Dateien:

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