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

[M32] [M32][bascom] TIMER = COUNTER - niestabilna zmiana stanu portu po zliczeniu impulsów

tomaszdko 02 Lis 2014 17:55 945 2
REKLAMA
  • #1 14095775
    tomaszdko
    Poziom 12  
    Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego .

    To jest program :
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Zmiana stanu portu nie dzieje się zawsze , raczej chaotycznie . Czasem licznik wyzeruje się kilka razy i zmieni stan.
    Co jest nie tak ?
  • REKLAMA
  • Pomocny post
    #3 14095832
    M. S.
    Poziom 34  
    Uruchom przerwanie od Countera (najlepiej od porównania wartości zliczonej z ustawioną) i zmień stan portu w podprogramie obsługi przerwania lub prościej, ale mało elegancko zmień
    Kod: text
    Zaloguj się, aby zobaczyć kod

    na
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Nie tak jest to, że w chwili zliczenia setki nasz if może się nie wykonywać (Wstawiłeś do programu Waitms). Program będzie się wykonywał w innym miejscu. Zanim się if wykona to Counter1 może mieć już wartość większą niż 100. Jeśli ilość zliczeń nie jest krytyczna to >= zadziała. Jeśli chcesz dokładnie odliczyć tą setkę to tylko przerwanie. Jeśli zadajesz impulsy przyciskiem to pewnie zlicza się ilość drgań styku.
REKLAMA