Ich versuche nun schon seit mindestens 5 Stunden einen Fehler zu finden, der garnicht da sein dürfte. Und zwar liegt das Problem im Ringpuffer über den die Daten von der CF Karte zum mp3 Dekoder laufen. Am Ende der Abspielschliefe habe ich ein asm("nop") eingefügt. Ohne dieses ist der Datenstrom irgendwie total zerstückelt, es hört sich einfach schrecklich an. Setzte ich den nop an den Beginn der Schleife, habe ich das Problem ebenfalls, was zeigt dass es sich nicht um ein Timingproblem handelt, da es dabei ja ziemlich egal sein dürfte bei einer Endlosschleife. Außerdem wüsste ich nicht, was ein Timingproblem darstellen könnte. Füge ich vor die Schleife eine weitere ein, die einmalig den Puffer füllt, bekomme ich das Problem ebenfalls trotz dem nop). So wie der Code momentan ist, funktioniert es. Irgendwie vermute ich langsam, dass es nicht an mir sondern an WinAVR liegt...
Ja, da gibt erstauinlich viele Unterschiede zwischen beiden Versionen. Beide Versionen unterscheiden sich sowohl bei den Befehlen (die aber beide dasselbe bewirken) als auch in der Optimierung (bei der einen Version erscheint z.B. der sts Befehl mehrmals, während bei der anderen Version ein sts Befehl mehrfach durch entsprechende rjmps genutzt wird.)
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.