Forum: Compiler & IDEs WINAVR - Bug ?


von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Ich hab wieder mal ein Bitproblem.

Diesmal wird nur dann Code erzeugt, wenn ich mit Bit7 (0x80)
verundiere.
Alle anderen Bitmasken (0x01..0x40) erzeugen schlichtweg keinen Code,
die Anweisung wird komplett ignoriert.

Anbei der Code und das daraus entstandene Assemblerlisting.

Ich kann keinen Fehler entdecken, weiß da jemand Rat ?


Peter

von Christian Schifferle (Gast)


Lesenswert?

Hallo Peter

Ist das eine Fangfrage????

Wie wäre es mit
volatile unsigned char  rc5_bit;

Gruss
Christian

von Peter D. (peda)


Lesenswert?

"Ist das eine Fangfrage????"

Leider nein.

"volatile" hat doch nur Einfluß auf wiederholtes Lesen, ist hier
nicht der Fall.
Und auch "volatile" darf nicht Bit abhängig sein.


Peter

von Jörg Wunsch (Gast)


Lesenswert?

Welcher Compiler, welcher MCU-Typ, welche Optimierungsstufe?

Bei mir funktioniert das (GCC 3.4.0, at90s8515, -Os).

Allein die Tatsache, daß Du <io.h> statt <avr/io.h> benutzt, läßt mich
vermuten, daß bei Dir irgendwas zu alt sein könnte.

von Peter D. (peda)


Lesenswert?

Es lag tatsächlich am WINAVR.

Ich hatte noch die "Winavr-20030115-bin-install.exe" und die ist
warscheinlich schon zu alt.

Jetzt habe ich die "WinAVR-20040404-bin-install.exe" installiert und
nun geht alles wie erwartet.


Peter

von AbsoluteBeginner (Gast)


Lesenswert?

nicht umsonst kommen neue versions raus :-)

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.