Forum: Compiler & IDEs problem mit bit_is_set und loop_until_bit_is_set


von Jochen (Gast)


Lesenswert?

Hallo ihr!

Ich habe in letzer Zeit mal die neuste Version von WinAVR (20040720)
installiert und seit dem erhalte ich folgenden Fehler bei den
Funktionen "bit_is_set" und "loop_until_bit_is_set": "error:
invalid lvalue in unary `&'". Kann mir jemand sagen, was das Problem
ist?

mfg,
Jochen

von Jörg Wunsch (Gast)


Lesenswert?

Ohne die angemoserte Codezeile ganz sicher nicht.  Kristallkugeln
werden immer rarer...

von Jochen (Gast)


Lesenswert?

@Jörg

aha...und was sagt mir das jetzt? - klingt etwas räzelhaft was du da
sagst.

mfg Jochen

von Christof Krüger (Gast)


Lesenswert?

Ich fasse zusammen:

Frage: Kann mir jemand sagen, was das Problem ist?
Antwort: Ohne die angemoserte Codezeile ganz sicher nicht.

siehe auch:
http://www.redensarten-index.de/suche.php4?suchbegriff=mosern&bool=stufe&suchspalte%5B%5D=rart_ou&suchspalte%5B%5D=bsp_ou
und:
http://www.religio.de/okk/kristall.html

von Jochen (Gast)


Lesenswert?

@Christof
Danke!!

unsigned char ReadRTL(unsigned char addr);

#define prx 0

....

if(bit_is_set(ReadRTL(isr),prx))
{
     .....
}

mfg jochen

von Jörg Wunsch (Gast)


Lesenswert?

bit_is_set() ist ausdrücklich auf IO-Register beschränkt (=> Doku).

Nimm Standard-C:

if (ReadRTL(isr) & (1 << prx)) {
 ...
}

von Jochen (Gast)


Lesenswert?

danke!

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wäre es nicht sinnvoll dieses Makro universell nutzbar zu machen? Die
Optimierung auf sbis/sbic kann der Compiler doch hoffentlich von
alleine.

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.