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

[Attiny2313][C]Złe odliczanie TIMER1

hotek 06 Maj 2011 20:40 1584 7
REKLAMA
  • #1 9478363
    hotek
    Poziom 15  
    Witam serdecznie mam następujący problem. Wgrywam następujący kod do attiny:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Fusy w procesorze : Int. RC Osc. 8 MHz; Start-up time: 14 CK + 65 ms, miganie diody jest co jakieś 7 sekund, mimo że prescaler ustawiony jest poprawnie na 256.
    Natomiast jeżeli zamienię OCR1A = 3906,25; wszystko jest ok i dioda miga z zadaną częstotliwością tj. 1Hz, mimo że jest to wartość która powinna odpowiadać prescalerowi 2048.
    Ktoś widzi jakiś sensowny argument dlaczego występuję tego rodzaju problem?
    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 9478396
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 9478412
    hotek
    Poziom 15  
    @Albert B. dziękuję za tą garść ironii, czułem że kogoś będzie razić to po przecinku ;)
    A teraz czy mógłbyś mi udzielić jakiejś informacji jak rozwiązać ten problem? :)
    Edit:
    Procesor dzisiejszy świeżutki ze sklepu, i domyślnie ustawiony był ckdiv8 na 1, z tego wynikał dodatkowy podzielnik przez 8 dlatego był taki rozrzut między obliczeniami a rzeczywistym taktowaniem.
    Problem rozwiązany.
  • REKLAMA
  • Pomocny post
    #4 9478470
    michalko12
    Specjalista - Mikrokontrolery
    Zainteresuj sie bitem CKDIV8 w fusach.
  • #5 9478530
    skalsky5000
    Poziom 21  
    Zmień stare SIGNAL na ISR(xxx_vect),wyłącz fuse CKDIV8
  • REKLAMA
  • #7 9478789
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA