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

[ATMEGA32,ATMEGA644] ATMEGA32 vs ATMEGA644: Konfiguracja TC0 w trybie PWM

arturromarr 31 Mar 2017 20:53 987 4
  • #1 16384416
    arturromarr
    Poziom 17  
    Witam.
    Budując sterownik musiałem przejść z procesora ATMEGA32 na ATMEGA644 z powodu zbyt małej ilość RAM.
    Ogólnie udał mi się już przerobić prawie cały kod pod nowy procesor jednak utknąłem na obsłudze wyjścia z modulacją PWM.
    Poprzenio na 32 było:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    W 644 zmieniłem na:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Czym się TC0 w tych dwóch procesorach. Czy w 644 można obsłużyć dwa kanały PWM?
    Jak dopasować kod by działał jak na poprzednim procku.
    Proszę o jakieś porady bo z moim słabym angielskim trochę trudno mi to zrobić na podstawie dokumentacji.
    Pozdrawiam.
  • Pomocny post
    #2 16384930
    dondu
    Moderator na urlopie...
    Preskaler jest w innym rejestrze - patrz TCCR0A i TCCR0B w dokumentacji.
    Porównaj także tabelki timera0 "Waveform Generation Mode Bit Description" w obu dokumentach.
    Można dwa kanały.
  • #3 16386661
    arturromarr
    Poziom 17  
    Dzięki już program śmiga.
    Zastanawia mnie jeszcze jena rzecz dotycząca kolejnego TIMER-a TC1 w 644.
    W dokumentacji opisany jest bit od przerwań : TOIE w TMESK1, podczas gdy ja muszę zapalić TOIE1 (podobnie jak w 32) bo inaczej kompilator wyrzuca błąd.
    Niedopatrzenie w dokumentacji czy różnice w Toolchain którego użuwam (w Linux-ie)?
  • #4 16386693
    Konto nie istnieje
    Konto nie istnieje  
  • #5 16388268
    arturromarr
    Poziom 17  
    Mój układ to dokładnie ATMEGA644PA.
    W dokumentacji mam tak:
    [ATMEGA32,ATMEGA644] ATMEGA32 vs ATMEGA644: Konfiguracja TC0 w trybie PWM
    w makefile mam atmega644pa.

    Czemu jest inaczej w dokumentacji niż przyjmuje kompilator?
REKLAMA