Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[attiny13a][c] dioda RGB programowy PWM

21 Kwi 2012 20:23 2857 4
  • Poziom 9  
    Witam,

    jeśli chodzi o programowanie uC to jestem początkujący. Mam problem z programowym pwm na attiny13a. Mój program bazuje na programie M. Kardasia z książki. Na atmedze16 działał dobrze, ale jak przerobiłem go na attiny13a wg noty katalogowej, to dioda nie świeci. Wiem, że na pewno coś przekręciłem. Jeśli chodzi o podłączenie do programatora i samego attiny, to wszystko jest dobrze. RGB wpięte do pinów PB0, PB1, PB2, wspólna anoda. Dodam jeszcze, że taktowanie procesora jest domyślne, czyli 9.6 MHz, jeśli się nie mylę.

    Kod:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Proszę o pomoc.
  • Poziom 38  
    ATtiny2313 nie ma rejestru TIMSK0 tylko TIMSK.
    Dlatego też program się nie kompiluje.
    No i nie ma też TIMER2 tak że przerwanie od tego nic nie zrobi.
    I tu będzie tylko "warning" którego nie wolno lekceważyć na etapie poczatkującego.
    Bo się skompiluje ale nie będzie działać.
    Tzw. "przeportowanie" na inny procesor jest dobrym treningiem na początek bo wymaga czytania dokumentacji.
  • Poziom 9  
    Jak zmieniam TIMSK0 na TIMSK to eclipse wywala mi błąd, że TIMSK jest niezadeklarowany. Faktycznie, zamineiłem TIMER2_COMP_vect na TIM0_COMPA_vect, nie wiem, czy dobrze wybrałem.
  • Poziom 38  
    Pomyliłem się- to jest ATtiny 13 a nie ATtiny2313.
    To ma tylko jeden timer- TIMER0.
    I na nim musisz wszystko zrobić.
    Ale musisz posprawdzać ustawienia rejestrów- moga mieć inne nazwy i ustawienia.
  • Poziom 42  
    Ustawienia rejestrów, i trybów masz ok - tylko właśnie ten nieszczęsny wektor przerwania.


    To może jeszcze wejdź na blog M.Kardasia czyli:

    http://mirekk36.blogspot.com/2012/03/eclipse-jak-szybko-sprawdzic-np-nazwy.html

    i zobacz jak można sobie ułatwiać życie dzięki Eclipse a w twoim szczególnym przypadku jak szukać wektorów przerwań (masz tam też wiele innych ciekawych poradników - rzuć okiem)

    a poza tym to domyślnie praktycznie wszystkie procki AVR8 są taktowane 1MHz albo coś koło tego. ATtiny13 ma wewn oscylator 9,6MHz oraz ustawiony fusebit CKDIV8 czyli podział jeszcze tej częstotliwości przez 8 - więc na pewno nie jest taktowany 9,6MHz tak jak założyłeś sobie.