Atmega 128 i Timer1 z trzema rej. OCR1A, OCR1B i OCR1C

Komputer wraz z oprogramowaniem wspomagającym projektowanie stał się częścią życia elektronika.
slawek7
Raczkujący użytkownik 2
Raczkujący użytkownik 2
Posty: 12
Rejestracja: ndz 04 wrz 2005, 10:54

Atmega 128 i Timer1 z trzema rej. OCR1A, OCR1B i OCR1C

Postautor: slawek7 » pn 02 paź 2006, 9:48

Cześc.
Chcę użyć licznika timer/counter1 w układzie Atmega128 w trybie CTC.
Potrzebuje aby przy zgodności następowało przerwanie.
Po przeczytaniu Datasheet juz nie wiem o co chodzi w tym.
Dlaczego i jak sie do tego zabrac skoro są tam aż 3 rejesrty OCR1A, OCR1B i OCR1C.
Czy wpisując do tych rejestrów rózne wartości będą 3 przewania, o co tu chodzi z tymi trzema rejestrami.
Dodatkowo rejestr TCCR1C w którym są 3 bity FOC1A, FOC1B, FOC1C do czego one służa i jak je wykorzystać?

movzx
Aktywny użytkownik 3
Aktywny użytkownik 3
Posty: 642
Rejestracja: ndz 07 sie 2005, 23:38
Lokalizacja: Wrocław
Kontaktowanie:

Postautor: movzx » wt 03 paź 2006, 21:51

FOCx sluza do recznego wywolania "porownania" - nie jest wtedy zerowany licznik, ani generowane przerwanie, jedynie aktualizowane jest odpowiednie wyjscie, np. OC1A, tak jakby zaszla rownosc miedzy rejestrem porownania a licznikiem.
Rejestry OCR1A,B,C to po prostu 3 "kanaly", ktorych mozna uzyc do generowania 3 roznych sygnalow na wyjsciu (bo do tego glownie sluza)... Kazdy z nich ma osobno ustawiane zachowanie przy porownaniu. Zerowanie licznika nastepuje przy rownosci w kanale A, zas kanalu B i C mozna uzyc np do generowania sygnalow czy przerwan.
Zachecam do przeczytania strony 132.
Pozdr.

slawek7
Raczkujący użytkownik 2
Raczkujący użytkownik 2
Posty: 12
Rejestracja: ndz 04 wrz 2005, 10:54

Postautor: slawek7 » śr 04 paź 2006, 7:28

Ale co to znaczy? Jełii ustawię bit FOC1 to w chwili wpisania wystąpi zmiana na OC1A a co do tegoo maja bity COM1A0:1 które ustawiają opreacje na wyjsciu. A tak ogólnie do czego to służy i jak to wykorzystać

Przy okazji zalazłem też takie zdanie że w trybie FastPWM rozdzielczośc może być 8, 9, 10 bitów lub określona rejestrem OCR1A to w takim razie jak wtedy usatwia się wypełnienie.

movzx
Aktywny użytkownik 3
Aktywny użytkownik 3
Posty: 642
Rejestracja: ndz 07 sie 2005, 23:38
Lokalizacja: Wrocław
Kontaktowanie:

Postautor: movzx » śr 04 paź 2006, 14:55

Ja nigdy nie uzywalem FOC, ale moze sie przydac do "recznego" przelaczenia wyjscia, w razie gdyby zaszla taka potrzeba (przypominam ze przy korzystaniu z komparatora, danego wyjscia nie mozna ustawic w PORTx, bo jest "przejete" przez sterownik licznika)
Bity COM1A0:1 maja tyle do rzeczy ze ustawiaja zachowanie wyjscia OC1A przy porownaniu (lub ustawieniu FOC wlasnie). Wszystko jest dokladnie opisane na stronie 130.
W trybie Fast PWM czestotliwosc jest ustawiana jako: (10,9,8bit), OCR1A, ICR1 do wyboru. Jesli uzywamy OCR1A do ustawienia czestotliwosci, PWM mozna generowac tylko na kanalach B i C, ustawiajac odpowiednio OCR1B i OCR1C. Wszystko jest z kolei opisane na stronach 121-123 (zwlaszcza 123), proponuje tylko dokladnie przeczytac bo Atmel naprawde jasno i porzadnie to opisuje...
Pozdr.


Wróć do „Oprogramowanie wspomagające projektowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika. i 4 gości

cron