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

[atmega8][bascom] Odliczanie czasu w tle.

Saperq 29 Lis 2009 12:02 3155 5
REKLAMA
  • #1 7322459
    Saperq
    Poziom 10  
    Witam !

    Nie dawno zacząłem się bawić programowaniem avr-ów i postanowiłem skonstruować sterownik do pieca CO. Natrafiłem jednak na problem którego nie potrafię rozwiązać, szukałem już na forum oraz google lecz nie znalazłem żadnych pomocnych informacji tylko jeszcze bardziej się zakręciłem.

    Mianowicie, potrzebuje załączyć np. port B0 na czas 5min. Próbowałem za pomocą funkcji lecz ona zatrzymuje cały program a ja potrzebuje zrobić to w "tle" tak aby program był dalej kontynuowany.

    Możliwe, że rozwiązanie jest bardzo proste jednak ja nie mogę go dostrzec.

    Pozdrawiam Michał
  • REKLAMA
  • #2 7322508
    MELP
    Poziom 16  
    Witam!
    Musisz wykorzystać wewnętrzny timer. W momencie gdy ulegnie przepełnieniu to zostanie wygenerowany sygnał przerwania i wtedy uruchomiony zostanie podprogram do zmiany stanu konkretnego pinu.
  • REKLAMA
  • #3 7325017
    klops_mops
    Poziom 17  
    A żeby odliczał Ci ładnie 5 minut dobierz odpowiedni prescale i ustaw odpowiednią wartość timera na początku odliczania. Jak to wszystko policzyć znajdziesz na forum.
  • REKLAMA
  • #4 7326108
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #5 7326715
    MELP
    Poziom 16  
    Kolega emarcus ma rację, przesadziłem ze skrótem myślowym i wyszła mi nieprawda. W zależności od częstotliwości kwarcu pojemność Timera 1 starcza na kilka do kilkudziesięciu sekund.
REKLAMA