Procesor: ATmega88
Taktowanie: 8MHz
Cześć,
Mam dwa klawisze - lewy i prawy. Prawy ma za zadanie przysuwać pozycję kursora na wyświetlaczu od 0 do 3, a gdy ta wartość zostanie przekroczona zostaje do niej przypisane 0. Lewy klawisz po naciśnięciu dodaje do wartości zmiennej
NUMBER 1, gdy wartość jest większa od 9, automatycznie jest stan jest zmieniany na 0. I wszystko pięknie działało do momentu pojawienia się tablicy znaków
ENTERING_PIN[4] , jest ona wyświetlana przez timer na wyświetlaczu. Od tej pory każda zmiana wartości
NUMBER kończy się pojawieniem na wyświetlaczu "krzaka":
Przed naciśnięciem lewego klawisza:

po naciśnięciu lewego klawisza:

Poniżej prezentuję kod:
main.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
definitions.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
declarations_macrodefinitions.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Definicja funkcji wyświetlającej tekst na wyświetlaczu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Natomiast sam kod cleanowałem i buildowałem, to nie pomogło. Z góry dziękuję za każdą odpowiedź, to dla mnie niesamowicie ważne. Gdyby było coś co stanowiło niejasność, proszę śmiało pytać.
------------------------ [ Dodano po: 11 minutach ]Myślę że warto jeszcze dodać, iż krzak pojawia się w momencie gdy wartość NUMBER jest różna od zera.