Hallo, ich wollte einem 32bit Wert mit einzern füllen. Dafür will ich immer eine "1" eine Stelle weiter in den Wert hineinschieben. Das geht auch gut bis zu der 15. Schiebeoperation. Ab da , es sollte dann FFFF0000 dort stehen, ändert sich der Wert schlagartig auf FFFFFFFF. Hat jemand velleicht eine Lösung für dieses Problem? (System: WINAVR GCC + Atmega8) Und hier die Kode: int main(void) { static uint32_t tmp1=0; static uint8_t i=0 ,k=0; for(;;) { do { do { tmp|=(unit32_t)(1<<(k+(i*8))); k++; } while(k!=8); k=0; i++; } while(i!=3); i=0; } } Gruß Zoltan
Dieser Thread wird wieder zu einem Monolog: Das ist die Lösung: http://www.avrfreaks.net/phorum/read.php?f=2&i=6611&t=6605&PHPSESSID=e79a5f733419be0040263f9e5883656e#6611
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.