logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

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

slawek55 02 Paź 2006 06:39 2540 2
REKLAMA
  • #1 3077033
    slawek55
    Poziom 23  
    Posty: 788
    Pomógł: 3
    Ocena: 61
    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ć?
  • REKLAMA
  • #2 3077274
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Nie wczytujac sie zbytnio w manuala tylko patrzac na rysunek 46 wynika ze jak licznik tego timera zrowna sie z danym rejestrem to moze wystawic przerwanie i zmienic stan wyjscie jezeli zostana odpowiednio ustawione rejestry sterujace. Natomiast w trybie CTC jak nie trudno zauwazyc jezeli dany rejestr powownawczy bedzie mial wartosc nizsza od wszystkich pozostalych to niestety te pozostale nigdy nie beda mogly wykonac swoje zadanie bo licznik nie doleci do takiej wartosci, no chyba ze jest to twoje swiadome postepowanie.
  • #3 3079481
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    Masz 3 źródła przerwań od każdego z rejestrów osobno. Tryb ctc ładuje albo z OCR1A albo z ICR1. Za pomocą wymienionych przez ciebie bitów możesz zapisując do nich jedynkę wymusić taki efekt jaki by wystąpił w momencie gdy licznik jest równy danemu rejestrowi OCR1 (A,B,C). Efektem tym jest zmiana stanu wyjścia licznika (pinu portu) jeśli takowe wykorzystujesz.
    Pozdrawiam.
REKLAMA