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

ATmega32/BASCOM - Reset przy obsłudze klawisza na PORTA.4, licznik i LCD

mrhw 10 Sty 2013 02:43 1050 0
REKLAMA
  • #1 11767657
    mrhw
    Poziom 12  
    Posty: 40
    Ocena: 2
    Napisałem swój pierwszy prosty programik, na wzór z książki Wiązani, obsługujący wyświetlacz 4xLED i LCD. Na LED wyświetlany jest licznik a na LCD tekst. Wszystko działało dopóki nie dodałem obsługi klawisza na PORTA.4. Doszedłem do obsługi klawisza za pomocą Debounce ;) i próbowałem jak działa. U mnie nie działała więc sprawdziłem na If ..then.

    Założenie było takie, że przyciśnięcie przycisku miało zwiększać szybkość odliczania i zmienić wyświetlany tekst.

    Program działa losowo, właściwie zawsze kończy się resetem. Mało tego wystarczy zmiana z PINx.x na PORTx.x i już się zmienia działanie.

    Czy mógłby ktoś zerknąć.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    I jeszcze jedno. Gdzie mogę znaleźć dokładny opis funkcji Bascoma? Przez 2 dni walczyłem z programikiem na kilka linijek, a okazało się że argumentem makebcd musi być byte bo na wordzie głupieje.

    Win 7
    Bascom 2,0,7,5
    MegaLoad V7
    Programator z bootloaderem

    Zmieniłem wszystkie PINx.x na PORTx.x w całym listingu oraz zaremowany fragment czytający przycisk na
    Kod: Text
    Zaloguj się, aby zobaczyć kod


    i nie reaguje w ogóle na naciśnięcie. Gdy PORTA.4 zmienię na Pina.4 reaguje ale się resetuje. Gdy wywalę w ogóle tego IFa i Gosub program działa poprawnie.

    Pomogło wstawienie PUSHALL na początku podprogramu obsługującego klawisz i POPALL na końcu.
    Dlaczego?
  • REKLAMA
REKLAMA