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

Xmega serii 128A1 i AT45DB321D - "Prawie" doskonała pętla opózniająca

ASMnauka 10 Lut 2014 18:49 1209 3
REKLAMA
  • #1 13285463
    ASMnauka
    Poziom 12  
    Witam
    Tym razem mym problemem jest odpowiednik delay_ms w ASM.
    Otóż sądzę, że jeśli Timer skonfiguruję na 1 ms, następnie w podprogramie w odpowiedniku pętli While w ASM porównam ilość milisekund, jakie upłynęły ze zmienną Czekaj to otrzymam taki odpowiednik.

    Czy moja idea jest słuszna ?

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 13285486
    BlueDraco
    Specjalista - Mikrokontrolery
    Z grubsza słuszna. Nieco bardziej odpornym na błędy pomysłem jest dekrementacja w przerwaniu timer zmiennej czasu oczekiwania (pod warunkiem, że nie jest zerem).

    if (utimer) utimer --;

    a tam, gdzie masz czekać, "nastawienie" jej i sprawdzenie, czy się wyzerowała.
  • REKLAMA
  • #4 13286011
    ASMnauka
    Poziom 12  
    BlueDraco i michalko12, dziękuję za odpowiedz.
    Jednak pozostanę przy opcji wykorzystania sprzętowego mojego problemu.
    Nie wiem, dlaczego, ale jakoś programowe odliczanie czasu mnie nie przekonuje.
    Dziękuje za poświęcony mi czas.
    Nie zamykam tematu, być może jeszcze Ktoś ma istotne rzeczy do dodania.
    Oczywiście pozostaję przy opcji BlueDraco
    Pozdrawiam
REKLAMA