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

attiny 2313 i sprzętowe pwm - konfigurowanie

gervee 17 Mar 2011 16:05 2026 1
REKLAMA
  • #1 9287674
    gervee
    Specjalista Automatyk
    Witam!
    Mam attiny2313 i chcę wykorzystać sprzętowe PWM do sterowania urządzeniami podłączonymi na wyjścia OC0A, OC1A, OC1B. Urządzenia mają pracować w różnych momentach, kiedy trzeba ma być włączony PWM na 1,2 lub 3 wyjściach attiny.
    Z tego co zdążyłem się zorientować w attiny są 4 sprzętowe PWM, które można wykorzystać do tego celu (dwa oparte na 8-bitowym liczniku i dwa na 16-bitowym).

    Z noty katalogowej wywnioskowałem (o ile się nie pomyliłem), że:
    - za PWM na OC0A odpowiada TCCR0A (bity 6 i 7 służą do ustawienia trybu pracy PWM i bity 0:1 tryb generowania przebiegu) oraz TCCR0B (bit 3 - tryb generowania przebiegu)
    - za PWM na OC1A odpowiada TCCR1A (bity 6 i 7 służą do ustawienia trybu pracy PWM i bity WGM11,WGM10) oraz TCCR1B (4 bity WGM13,WGM12 - tryb generowania przebiegu)
    - za PWM na OC1B odpowiada TCCR1A (bity 4 i 5 służą do ustawienia trybu pracy PWM i bity WGM11,WGM10) oraz TCCR1B (4 bity WGM13,WGM12 - tryb generowania przebiegu)

    W jaki sposób skonfigurować rejestry (bity) odpowiedzialne za pracę PWM na poszczególnych wyjściach, żeby mieć 3 jednakowo działające PWM oraz jak włączać je lub wyłączać (poprzez reset odpowiednich bitów WGM)? w danej chwili?

    Chciałbym to zrealizować w bascomie (jak narazie najlepiej to znam)
    Pewnie konstrukcja typu posłuży do włączenia PWM na OC0A
    RESET TCCR0A:7 'TCCR0A.COM0A1.
    SET TCCR0A:6 'TCCR0A.COM0A0
    SET TCCR0B:3 'TCCR0B:WGM02

    Jak z wyłączeniem PWM na wyjściu wystarczy tylko reset TCCR0B:3?

    Jak z pozostałymi dwoma PWM na OC1A i OC1B?
  • REKLAMA
  • #2 9289413
    hotdog
    Poziom 26  
    Po co "wyłączać" nie lepiej ustawić wypełnienie na zero?
REKLAMA