Witajcie.
Mam problem z uruchomieniem zegarka...
widać że ładnie czyta datę i godzinę i po resecie procka widać że działa a godzina się przestawia.
Próbowałem za pomocą przerwania zewnętrznego jak zalecał Pan Mirek w swoim poradniku i dalej
nie odświeża daty.
Próbowałem za pomocą timera 8 bitowego co sekundę odmierzać czas i odświeżać - to na nic.
Próbowałem robić nawet tak jak w bluebooku - zegarek stoi, chyba że go zrestetuje.
Co robię źle?
Procek: Atmega8, 1MHz.
Procedura obsługi timera wygląda u mnie następująco:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Funkcja odczytaj_czas(); jest u mnie napisana w biblioteczce gdzie dodałem sobie wszytkie funkcjie TWI oraz DS3231 i stamtąd ja wywołuję, tam też jest przekazywanie do znaków do LCD.
Nie potrafię dojść do tego co napisałem źle. Skoro czyta mi ładnie datę i godzinę, po resecie pokazuje aktualną godzinę to dlaczego nie odświeża co sekundę skoro wydaje mi sie tak ustawiłem?
Policzyłem to tak:
1Mhz i preskaler 1024 to daje = 1000Hz.
Czyli impuls będzie co 1 ms.
Timer mam 8 bitowy czyli przerwania będzie liczył 256* 1 ms czyli co 256ms.
na sekundę to wychodzi około 4 razy.
A chcę aby odświeżanie było co sekundę zatem wpisałem do TCNTO wartość początkową 6 aby liczył 250.
Jeśli zrobi 4 cykle (4*250ms =1 s) to ma się zgłosić przerwanie.
W wyniku tego wyświetlacz zapala mi się za sekundę ale nie zmienia nic.

Proszę o pomoc.
------------------------ [ Dodano po: 16 minutach ]a w drugiej kolejności zrobiłem to w ten sposób:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
no ale tez nie działa
