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 timer0 ,przerwania zewnetrzne

wrona1986 30 Gru 2008 00:39 2091 3
REKLAMA
  • #1 5921975
    wrona1986
    Poziom 12  
    witam

    Mam do zrealizowania coś takiego:

    Wejścia INT0 oraz Int1 muszą reagować na pojawiające się na nich sygnały (zbocza narastające ) po czym muszę zliczać czas trwania stanu wysokiego na powyższych wejściach gdy pojawi się zbocze opadające na int0,1 liczenie czasu ma być przerwane i wartość ta zapamiętana.

    W skrócie jest to pomiar czasu trwania stanu wysokiego w przebiegu prostokątnym o regulowanym wypełnieniu przy czym przebiegi są dwa pierwszy wchodzi na int0 drugi int1.

    nie oczekuje gotowego kodu tylko algorytmu, sposobu postępowania przy programowej realizacji tego problemu

    program ma być wykonywany na atmega8 w języku C

    bardzo liczę na podpowiedzi z góry dziękuje za pomoc

    atmega8 timer0 ,przerwania zewnetrzne
  • REKLAMA
  • #2 5922401
    mirekk36
    Poziom 42  
    Spróbuj napisać coś sam - wtedy już dużo ci się wyjaśni a o resztę tego czego nie będziesz rozumiał dopytasz już szczegółowo na forum i po kłopocie - skoro nie chcesz gotowca
  • REKLAMA
  • #4 5923577
    _StinG_
    Poziom 14  
    Proponuję coś takiego:

    1. na przerwaniu, na zbocze narastające włączasz timer;
    2. Jeśli wystąpi przepełnienie licznika, zmieniasz preskaler i czekasz na następne zbocze narastające.
    3. na przerwaniu, na zbocze opadające zapisujesz wartość np. do eeproma.

    Nie wiem Jakie orientacyjnie czasy będziesz miał do mierzenia, ale jak to rozwiązanie będzie zbyt szybkie, to 2 jest takie, że na przepełnieniu timera (przerwanie) zwiększasz sobie jakąś zmienną i zliczasz ile razy się przepełnił licznik (plus to co w nim zostało)
REKLAMA