Hallo an alle
i2c_start() funktioniert. Nur bei der Receive Routine hakt es. Ich hab Acked und Nacked getrennt.
Ich hab nach jedem Befehl eine Lcd Ausgabe eingeführt, um zu sehen wo es hakt.
Hier der Code:
Das ist die Funktion mit Acknoledgement. Am Display wird aber nur 12 angezeigt.Code:int i2c_read_ack(void) { lcd_putc('1'); TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); lcd_putc('2'); while(!(TWCR & (1<<TWINT))); lcd_putc('3'); if(!(TWSR & 0x50)) { lcd_putc('4'); return -1; } lcd_putc('5'); return TWDR; }
Es hängt also bei while(!(TWCR & (1<<TWINT)));
Weiß irgendwer, was da falsch sein könnte. Ich hab je´tzt echt keinen Plan mehr
Danke im Voraus
Gruß Robert







Zitieren
Lesezeichen