Witam.
Mam takie pytanie w zasadzie o podstawy.
Tworzę sobie kilka typów enum np:
Kod:
enum A {menu1, menu2, menu3, menu4, menu5, menu6};
enum B {poziom1 = 2, poziom2, poziom3, poziom4};
enum A a;
enum B b;
Wykonałem sobie test na wyświetlaczu i zauważyłem, że domyślenie taki typ enum jak wyżej ma zakres jak typ uint8_t.
W związku z tym stwierdziłem, że utworzę sobie funkcję do której będę mógł przekazać każdy z tak utworzonych typów enum.
(podany przykład jest teoretyczny podobny do tego co mam u siebie w programie).
Kod:
void position_menu (uint8_t *poz_m, uint8_t min_poz, uint8_t max_poz, uint8_t exit_p){
*poz_m += ENCODER (1);
if(*poz_m<min_poz) *poz_m = max_poz;
if(*poz_m>max_poz) *poz_m = min_poz;
if (button(1)){
if(*poz_m == max_poz) a = exit_p;
else a = *poz_m;
}
}
Potem w programie wywołuję funkcję
Kod:
void position_menu (&b, poziom1, poziom5, menu1);
Sprawdzałem i taka funkcja działa ale może czegoś nie wiem.
Dlatego pytam czy takie przekazywanie typów enum do funkcji jest poprawne ?.
Funkcja ma pracować z różnymi typami enum.
Pozdrawiam