Code verhält sich völlig unberechenbar

Gast #1268004
Hallo,

beim Versuch, einen Wii Nunchuk mit einem Atmega8 über TWI anzusteuern, 
bin ich an eine Stelle gestoßen, an der mein Code völlig merkwürdige 
Sachen tut und kleine Codeänderungen, die das Verhalten eigentlich nicht 
beeinflussen sollten, entscheiden, ob mein Programm läuft oder nicht.

Mein Code gibt eigentlich in einer Endlosschleife die Daten von dem 
Controller schön formatiert über den UART aus, was auch soweit ganz gut 
geklappt hat. Jetzt habe ich zwei Versionen von meinem Code: Die eine 
funktioniert problemlos und die andere gibt nur einen Haufen "x" aus, 
was bedeutet, dass main() immer wieder von vorne ausgeführt wird. Der 
einzige Unterschied zwischen den Programmen ist eine Funktion 
("dumme_funktion()"), die nicht einmal aufgerufen wird.

Hier ist der Code:

main.c, die tut und Daten ausspuckt:
http://pastebin.com/f52c6555e

main.c, die nur laufend "x" ausgibt:
http://pastebin.com/f44a72ced

serial.h:
pastebin.com/f3270ee9b

serial.c:
pastebin.com/f4601c083

CMakeLists.txt (statt Makefile):
pastebin.com/f5ca0a7db

Hier sind noch die zwei disassemblierten Programme, falls das etwas 
hilft:
funktionierende Version: http://pastebin.com/f2eea5073
nicht funktionierende Version: http://pastebin.com/f2ab22dec

Ich hätte gerne ein Minimalbeispiel gepostet, aber bei der Art von 
Problemen ist das etwas schwierig. ;)

Wenn mir jemand dabei helfen könnte, wäre ich euch unendlich dankbar. 
Ich stehe grade kurz vor dem Verrücktwerden... Ach ja: Den Atmega8 habe 
ich natürlich schon ausgetauscht, mit genau dem gleichen Ergebnis. Daran 
kann es also nicht liegen.

Vielen Dank!
Daniel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.