ATMEGA162, Timer2 w trybie async-nie pracuje kwarc 32,768kHz

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

ATMEGA162, Timer2 w trybie async-nie pracuje kwarc 32,768kHz

Post autor: gwozdex » 15 lip 2012, 9:08

Witam!
Mam pewien problem. Mianowicie chcę użyć wbudowanego w M162 modułu RTC. W tym celu do wyprowadzeń TOSC1/TOSC2 podłączyłem oscylator kwarcowy 32,768kHz ( bez kondensatorów, czyli tak jak mówi datasheet). Skonfigurowałem TIMER2 w taki sposób:

Kod: Zaznacz cały

Config Timer2 = Timer, Async = On, Prescale = 256
Zezwoliłem na przerwania i określiłem co procesor ma zrobić w tym przerwaniu:

Kod: Zaznacz cały

Enable Interrupts
Enable Timer2
On Timer2 przerwanieT2
Niestety program nie działa.
Pomogłem sobie wyświetlaczem LCD:

Kod: Zaznacz cały

Do
  Lcd Timer2
  wait 1
Loop
Okazało się że timer w ogóle nie liczy impulsów. Trochę dziwi mnie też to że nie ma możliwości ustawienie preskalera na 128 (BASCOM wyrzuca błąd). Próbuję zatem innej konfiguracji:

Kod: Zaznacz cały

Assr.3 = 1    'praca asynchroniczna
Tccr2.2 = 1
Tccr2.1 = 0    ' preskaler = 128
Tccr2.0 = 1


Dalej nic. Podpiąłem wiec oscyloskop pod piny TOSC1, TOSC2, GND i okazało się, że kwarc nie generuje żadnego przebiegu za wyjątkiem jakichś śmieci na poziomie 20mV.
Próbowałem z 3 kwarcami i nic.

Macie jakiś pomysł, co może być nie tak.
Pozdrawiam i z góry dzięki za pomoc.
Ostatnio zmieniony 15 lip 2012, 20:05 przez gwozdex, łącznie zmieniany 2 razy.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1418
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 15 lip 2012, 12:57

Preskaler do temera 2 ustalasz w rejestrze TCCR2, nie w TCCR (bez cyfry), no chyba że bascom wie lepiej.

Inna sprawa że oscylator nie chce wystartować, co jest rzeczą dziwną.
Jakie masz napięcie zasilania? Słyszałem że pewna seria procków ma feler że oscylator 32khz rusza przy 5V i na 3V3 nie chce działać.

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 15 lip 2012, 20:07

Istotnie- ustawień należy dokonać w TCCR2 i tak też mam zrobione w programie- źle napisałem w poście. Poprawiłem powyższy post.
Zasilanie wynosi 5V.

ODPOWIEDZ