Forum: Mikrocontroller und Digitale Elektronik RC5 Decode von Mark Hämmerling


von holm (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe hier z AVR Infrarotempfänger, einen mit Atmega8 und einen mit
AT90S2313, darauf sitzt mark Hämmerlings RC5 Software (www.markh.de).

Im Prinzip funktioniert diese, allerdings nur, wenn ich sie ohne
Compiler Optimierung übersetzte. der benutzte Compiler ist bei mir der
avr-gcc Version 4.3.1 unter FreeBSD. Sobald Ich O0, O1 oder Os
einschalte
tut sich nix mehr. ICh habe daran bist gestern Abend spät
herumgedocktert
und möchte hier nur mal anfragen ob Jemand die Ursache dafür kennt,
ich habe wieder mal Stunden zugebracht ehe ich in meine Makefiles
geschaut hatte und mir auffiel, daß der 2313 ohne Optimizier übersetzt
und funktioniert und ich auf dem Atmega -Os drin hatte...
Den Autor habe ich auch noch nicht gefragt.

Gruß,

Holm

von Mark H. (haemi)


Lesenswert?

Salve,

vorweg: dieses Verhalten ist mir nicht bekannt.
Ich verwende eine etwas modernisierte Version der rc5dec-Routine in
meinem Dimmer (ATmega32) seit einer ganzen Weile problemlos. Habe
meinen Code auch seit eh und je mit -O2 übersetzt, inzwischen mit -Os -
am RC5-Empfang hat sich nichts geändert. Funktioniert tadellos.

Hast Du mal die Listfiles verglichen?

Außerdem: In der alten Version werden die Rückgabewerte bei der Abfrage
nicht sauber vor Interrupts geschützt. Aber das ist sicherlich nicht die
Ursache für Dein Problem.

Meld Dich wenn Du etwas herausgefunden hast.

Viel Erfolg!
Mark

von holm (Gast)


Lesenswert?

Ok, ich werde das Zewug nochmal vergleichen, evtl. habe ich ja beim
Ersetzten der cbi und sbi Geschichten einen Fehler gemacht.

Der Gcc ist übrigens 3.4.1 nicht 4.3.1, scheiß Fipptehler.

Wo findet man Deine Mailadresse? Ich bin jetzt 2 Tage nicht dazu
gekommen überhaupt was daran zu machen, hätte den komischen Effekt aber
gerne los.

Gruß,

Holm

von Tobias M. (twam) Flattr this


Lesenswert?

Was ist an deiner modernisierten Version anders? Ich habe bei mir die
cbi/sbi ersetzt, aber er scheint nix zu detektieren und landet immer in
der rc5_cancel Routine. :/

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
Noch kein Account? Hier anmelden.