Ich habe jetzt das AVR-GCC-Tutorial durch und möchte jetzt 2 AVRs Daten über TWI austauschen lassen. Der Master ist ein ATmega32L und der Slave ein ATtiny24. Beide laufen bei 8MHz internem Takt. Ich verwende 4,7 Kilo Ohm Widerstände als Pull Up. Die Leitungen von SDA und SCL sind ca. 15cm lang. Für den Anfang habe ich vor, Beispiele aus der Codesammlung zu verwenden. Für den Master verwende ich folgendes Beispiel: Beitrag "AVR TWI Master und Slave Funtionen in C" (TWI_Master-Slave_C_Functions.zip vom 04.01.2008 21:51) Für den Slave: Beitrag "Re: attiny USI Slave Implementierung" (usi-slave.zip vom 4.06.2006 21:29) Leider bekomme ich keine Komunikation zustande. Wie es aussieht kommt die Sendeanforderung beim Slave an und er sendet auch die Daten an den Master. Doch der Master meldet mir "Could not start TWI Bus for READ" und "Could not start TWI Bus for WRITE" Ich habe nur ein paar Anpassungen beim Quellcode gemacht. Und zwar folgende: Ich habe bei beiden Programmen die gleiche Adresse vergeben. Bei beiden Programmen werden 3 Bytes gesendet / empfangen Ich habe das USI-Beispiel auf ATtiny24 erweitert. Ich weis leider nicht was ich bei der Umsetzung falsch gemacht habe. Ich brauche eure Hilfe damit ich weiterkomme. Ich habe die Projekte angehängt.
Ich habe gerade bemerkt, dass ich nach den Tests vergessen habe beim Slave DDRB auf DDRB = 0x07; zu ändern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.