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

Attiny13/C - OCR0A nie zmienia się w symulatorze AVR Studio 4

rs07 11 Sty 2015 23:48 771 4
REKLAMA
  • #1 14320839
    rs07
    Poziom 20  
    Nie mogę sterować PWM . Nie mam pojęcia dlaczego. Wpisana na początku wartość OCR0A później nie zmienia się. Używam AVR Studio 4.
    Oto mój uproszczony programik.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    #include <avr/io.h> // dostęp do rejestrów

    int main()
    {
    DDRB|=_BV(PB0) ;
    OCR0A=16 ;

    TCCR0A|=_BV(COM0A1) |_BV(WGM01) |_BV(WGM00); // FAST PWM

    TCCR0B|=_BV(CS00) ; // Prescaler 1

    while(1) {OCR0A++ ; } // OCR0A nie zmienia się w symulatorze

    }
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Byłbym wdzięczny za podpowiedź gdzie błąd.
  • REKLAMA
  • Pomocny post
    #2 14320913
    excray
    Poziom 41  
    Witam. Skopiowałem, skompilowałem:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Pomijając brak sensu w tym kodzie wszystko działa jak widać. OCR0A w liniach 34-38 jest cyklicznie zwiększane.
  • REKLAMA
  • #3 14321262
    _Robak_
    Poziom 33  
    PWMy na AVRstudio nie działają poprawnie, stary problem.
  • REKLAMA
  • #4 14321293
    rs07
    Poziom 20  
    Dzięki excray za odpowiedź
    Sprawdziłem na procesorze i rzeczywiście wszystko działa jak trzeba. W błąd wprowadził mnie symulator w którym OCR0A nie zmienia się w pętli. Sens programu był taki że uczę się i chciałem sprawdzić działanie na symulatorze.
  • #5 14322448
    excray
    Poziom 41  
    Mówiąc że nie ma sensu miałem na myśli że ma sensu zmieniać tak często OCR0A bo te zmiany nie zdążą się nawet przyjąć niemniej domyśliłem się że się po prostu bawisz kodem dlatego nie rozwijałem tego tematu. Pozdrawiam.
REKLAMA