Witam.
Jestem początkujący w programowaniu mikrokontrolerów AVR w języku C.
Mam problem ze zrozumieniem fragmentu kodu napisanego do obsługi klawiatury matrycowej.
typedef union
{
uint16_t word;
uint8_t byte[2];
} two_byte_union;
.......
two_byte_union kbd_test_col(two_byte_union in)
........
in.byte[0] +=ROW;
in.byte[1]++;
........
Nie rozumiem deklaracji zmiennej byte[2]. Czy chodzi tu że zmienna byte[2] to tablica składająca się z dwóch bajtów pierwszy byte[0] i byte[1]? Czy może zmienna in.byte[0] to odwołanie do zmiennej 'unit16_t word' , a in.byte[1] do zmiennej 'unit8_t byte[2]'?
Proszę poprawić tytuł oraz kod umieścić w znacznikach!
Robak
Jestem początkujący w programowaniu mikrokontrolerów AVR w języku C.
Mam problem ze zrozumieniem fragmentu kodu napisanego do obsługi klawiatury matrycowej.
typedef union
{
uint16_t word;
uint8_t byte[2];
} two_byte_union;
.......
two_byte_union kbd_test_col(two_byte_union in)
........
in.byte[0] +=ROW;
in.byte[1]++;
........
Nie rozumiem deklaracji zmiennej byte[2]. Czy chodzi tu że zmienna byte[2] to tablica składająca się z dwóch bajtów pierwszy byte[0] i byte[1]? Czy może zmienna in.byte[0] to odwołanie do zmiennej 'unit16_t word' , a in.byte[1] do zmiennej 'unit8_t byte[2]'?
Proszę poprawić tytuł oraz kod umieścić w znacznikach!
Robak