Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Bascom Attiny 45 PWM Nie działa wyjście PB.4

arktik1 22 Oct 2019 14:04 792 5
  • #1
    arktik1
    Level 27  
    Witam.
    Może mi ktoś powiedzieć dlaczego nie działa wyjscie PWM na końcówce PB.4?


    $regfile = "attiny45.dat"

    $crystal = 8000000

    Config Portb = &B110111
    Portb = &B111111

    Config Timer1 = Pwm , Compare B Pwm = Clear Down , Prescale = 1

    DO
    OCR1B = 100
    loop

    to kawałek programu reszta nie jest istotna...
  • #2
    m2c
    Level 19  
    EDIT: Nieprzemyślana odpowiedź.
  • #3
    Press
    Level 24  
    Niby się to kompiluje, ale wyświetla ostrzeżenia.

    Poprawna deklaracja według MCS Wiki

    Config Timer1 = Pwm , Pwm = 8 , Compare_A_Pwm = Clear_Up , Compare_B_Pwm = Clear_Down , Prescale = 1

    Brakuje Ci łączników w parametrach. Nie wiadomo jak Bascom to traktuje w kodzie maszynowym.
    Brakuje deklaracji rozdzielczości PWM, ale tu pewnie zostaną wartości domyślne uP
  • #4
    tomaszdko
    Level 11  
    Włącz przerwania " Enable Interrupts " i możesz sprawdzić zamienić "OCR1B = 100" na " PWM1B =100 "
    Z ciekawości sprawdzę na attiny85 jak wrócę.
  • #5
    bart-projects
    Level 26  
    Timer w Tiny25-Tiny85 jest trochę inny. Na przykład może być taktowany z szyny peryferii 64MHz. Może też generować "dead time" dla różnego rodzaju aplikacji które przełączają klucze czyli robi drobne przerwy przełączając, by nie było nigdy przypadku kiedy włączone są na raz dwa tranzystory (ten wyłączony musi mieć czas by się zamknąć).
    Bascoma ulubionym trybem PWM jest phase correct i tak ustawia timery. W tym trybie zadziała tylko Clear_Up Zmień i ruszy.

    Jak chcesz inny tryb to musisz go sobie ustawić na piechotę. Raptem trzy rejestry np. przy użyciu komendy Bits()
  • #6
    yokoon
    Level 29  
    Facet TY jesteś nie zastąpiony.
    pozdro z Legnicy