Mam problem z wartością początkową T0 w atmedze8, na wstępie ustawiam sygnał zegarowy licznika na źródło zewnętrzne (T0), potem zeruję licznik aby mieć pewność że nie znajdą się w nim jakieś śmieci. Wartość licznika T0 w przerwaniu generowanym przez T1 co ok 1s przepisuję na wyświetlacz LCD. Dodatkowo każde przerwanie zmienia stan portu PD2 - do którego jest podpięta dioda - na przeciwny.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Problem w tym przy braku sygnału na wejściu T0 wyświetlacz wyświetla wartości rożne od 0, czasem przy restarcie drugie przerwanie zwiększa lub zmniejsza tą wartość o 1, podanie jakiegokolwiek impulsu na wejście T0 w ogóle nie zmienia stanu licznika.
W momencie kiedy do licznikT0 podstawię bezpośrednio wartość liczbową, np
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
To wyświetlacz wyświetla tą wartość. Również gdy przed przypisaniem do zmiennej licznikT0 wartości TCNT0 piszę do TCNT0 0 (TCNT0 = 0x00;) to wyświetla prawidłową wartość czyli 0.
Co robię nie tak że wyświetlacz podaje wartość w TCNT0 inną niż 0 w przypadku kiedy na wejściu T0 brak impulsów zegarowych ?