TWI hängt sich auf bei mehreren TWI Slaves

Gast #2358550
Lesenswert?
• ▲
▼
Es geht schlicht darum, Buttons aus mehreren TWI Slaves auszulesen und 
die Buttonwerte wieder zurückzuschicken (und dabei am Taster eine LED 
leuchten zu lassen).

Das ganze Projekt soll ein Midicontroller mit VUSB und TWI werden, habs 
nur jetzt vereinfacht um den Fehler zu suchen.

Der Host AVR ist ein ATMEGA16, getaktet mit 12MHz, Firmware ist die 
masterdevice.zip (siehe Anhang). Dabei werden die ersten 3 TWI Slaves 
(Adresse 2,4 und 6) abgefragt und dann die Daten wieder zurückgesendet.

Die Slaves sind ATMEGA8 mit 16MHz getaktet, Firmware ist die 
slaedevice_addr2_.zip

Problem: hängt 1 Slave am Bus so funktioniert alles wie es soll. Drückt 
man Taster 4, 8 oder 12, leuchtet die dazugehörige LED auf. Hängen mehr 
als der eine Slave am Bus, blinken die LEDs kurz durcheinander und dann 
stürzt der ganze Mastercontroller ab (tut garnichtsmher). Deaktiviert 
man das zurückschreiben der LEDs und liest nur die Taster aus, so funzt 
alles ganz normal. Auch mit 3 Slaves.

Schreibt man was an einen Slave, sobald mehrere Slaves am Bus sind, 
hängt sich der Master auf.

Woran könnte das liegen bzw. wo soll ich anfangen den Fehler zu suchen?
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.