Hallo, beim Debuggen im AVRStudio stelle ich fest, dass mein Code im Winavr nich so will, wie gedacht. Bei den Bitoperationen happert es ein bißchen: void ColorChanger(unsigned char red, unsigned char green, unsigned char blue) { unsigned char red_value; unsigned char green_value; unsigned char blue_value; green_value=0; blue_value=0; red=red&0x0F; //Maskieren des Low-Nibbles red_value=red; red_value=red_value<<4; //Shiften des Low-Nibbles auf das High-Nibble red_value=red_value&red;//Engültiges Verknüpfen vom High-Nibble und Low-Nibble ... } Funktionsaufruf dann mit: ColorChanger(0x0F, 0x00, 0x00); Statt der red_value=0xFF kommt red_value=0 raus. :-( Wat mach ich denn nun wieder falsch? Gruß Bastian
Wenn du 0x0F um 4 Bits nach links schiebst, kriegst du 0xF0. Wenn du das dann mit 0x0F maskierst (&), kommt naturgemäss 0 raus. Könnte sein, dass du eigentlich "|" statt "&" meinst.
Bastian wrote:
> Nein, wie Herr Simpson sagen würde ;-)
Da muss ich mich outen: ich kenne den Herrn zwar dem Namen nach, aber
nicht seine Gewohnheiten. Daher entgeht mir hier wahrscheinlich der
Witz.
Das bedeutet normalerweise, daß der Herr Simpson erkannt hat, dass er einen Fehler gemacht hat. im original: http://force.on.neobee.net/agcb_Doh!.wav
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.