

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?