Gast
#521780
Hallo, Ich möchte das mein mega8 I2C Master beim einschalten guckt welche Slaves eingeschaltet sind. Dazu soll er einfach nur alle Adressen von 0x10 bis 0x1F prüfen. Mein Problem ist das wenn ich folgenden Code ausführe fängt ein Slave an zu spinnen und hängt sich bei jedem zweiten mal auf auf (Zieht dabei beide Signalleitungen auf low).
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Das ist noch minimal Code, er hängt sich direkt beim ersten Durchlauf bei TWI_Transceiver_Busy() auf weil die Leitungen auf low sind. Wenn ich den Code mitten im Betrieb laufen lassen (taster/uart) funktioniert alles wunderbar. Der Slave der den Fehler verursacht hat TWAR = 0x10 (Addrese). Ich verwende den Code aus App note AVR311 und AVR315.