Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Podivné chování programu pro Arduino

Zdar, může mi někdo fundovanej vysvětlit co dělám špatně? Uvedu část programu:

//tady je nějaká předchozí část programu

byte bajt1;
byte bajt2;

//tady se v programu načtou hodnoty bajt1 a bajt2

bajt1 = (bajt1 & 0b10000000) >> 7 | (bajt2 << 1);

//pokračuje program
tohle nefunguje a v bajt1 je vždy jen bajt2 posunutý o jedno místo doleva.

//tady je nějaká předchozí část programu

byte bajt1;
byte bajt2;

//tady se v programu načtou hodnoty bajt1 a bajt2

bajt1 = (bajt1 & 0x80) >> 7 | (bajt2 << 1);

//pokračuje program
tohle funguje a v bajt1 je správně jeho poslední bit plus bajt2 posunutý o jedno místo doleva.

je něco shnilého v AVR GCC nebo je chyba někde jinde?

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny