Wklejam jeszcze raz z małymi poprawkami. Powiem do czego doszedłem a do czego nie ....
Więc jest tak :
Po resecie i wciśnięciu dowolnego klawisza startuje przerwanie i funkcja scankbd(void) coś tam robi
ale numeru klawisza nie zwraca. I teraz uwaga... bo będzie cud
Jak wywołam INT0 "ręcznie" czyli dam masę na moment na pina, funkcja się "naprawia" i od tego czasu
już prawidłowo odczytuje i wyświetla na LCD numery klawiszy ....
Wydaje mi się że sam kod funkcji jest w miarę ok bo jest stosunkowo prosty i w main samodzielnie działa ok.
Tak intuicyjnie przez skórę czuję że coś może być na rzeczy z inicjowaniem zmiennych i tym co się z nimi dzieje podczas obsługi przerwania ...
Przeczytałem na ten temat parę zdań w rozdziale o sterowaniu Ledami w BB Mirka i o przedrostku "static" ale za mało wiem jeszcze, żeby to świadomie analizować.
Generalnie podsumowując mój problem można to ująć tak :
co trzeba zmienić w funkcji która samodzielnie w main działa prawidłowo ale wywołana w przerwaniu działa wadliwe ?
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.