Hallo,
ich versuche jetzt schon seit geraumer Zeit auf einem atmega168 einer
uint32_t Vari einen Wert zuzuweisen. Ich habe auch alle relevanten
Beiträge durchforstet und alle Möglichkeiten durch. Die Zuweisung
geschieht jetzt momentan so:
1 | current_time = ((uint32_t)b0<<24) + ((uint32_t)b1<<16) + ((uint32_t)b2<<8) + (uint32_t)b3;
|
Die Art der Zuweisung spielt jetzt weniger eine Rolle, weil egal wie
ichs mache, ich habe immer folgendes Verhalten: Es läßt durchaus ein
Wert zuweisen, allerdings nur wenn keins der Bytes "0" enthält.
b0 b1 b2 b3 Ergebnis
01 02 03 04 -> 01 02 03 04
01 02 00 04 -> 00 00 00 04
01 02 03 00 -> 01 02 03 00
00 01 02 03 -> 00 01 02 03
01 00 03 04 -> 00 00 03 04
Hat hier jemand vielleicht einen Tipp wie man das korrekt umsetzen kann?
Danke!