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

Efekt DEC i INC w przerwaniu Timer0 na start BLDC z Atmega328 w ASM

kogiel 14 Maj 2019 19:57 351 0
REKLAMA
  • #1 17960894
    kogiel
    Poziom 16  
    Dziś postanowiłem napisać program do "kręcenia" silnikiem BLDC
    Na początku program wyglądał tak jak w pętli _main:
    i aby silnik ruszył trzeba było mu pomóc

    Następnie chciałem użyć timera do obliczania czasu kroku
    i stało się coś dziwnego kiedy w przerwaniu Timer0 umieściłem DEC r15
    silnikiem zaczęło lekko "szarpać", ale za to zaczął sam startować (nie trzeba mu pomagać)

    I tu moje pytanie jaki wpływ na program ma ta operacja w przerwaniu timera?
    Dodam jeszcze, że można tam wpisać np. inc r14 i efekt jest ten sam, ale NOP nie wpływa na pracę silnika

    Teraz mój program wygląda tak, że na początku rozpędzam silnik tą dziwną metodą, a następnie kiedy silnik nabierze obrotów wyłączam przerwanie
    timera i przechodzę do pętli _main, a chciałbym ten start wykonać profesjonalnie, a nie jakąś przypadkową metodą ;-)
    Kod: AVR assembler
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
REKLAMA