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][avrstudio] Sterowanie menu poprzez klawiaturę PC?

dan50 28 Maj 2011 11:01 1322 4
REKLAMA
  • #1 9552115
    dan50
    Poziom 12  
    Podłączyłem klawiaturę PC do uC attiny2313. Dane są odczytywane, tzn. na lcd wyświetlany jest dany klawisz który został naciśnięty. Chciałem zrobić sterowanie menu za pomocą klawiatury. Najpierw napisałem prosty program, który powinien po naciśnięciu przycisku z numer "2" wyświetlić tekst na LCD. Program ten umieściłem w pętli głównej, a odczyt danych z klawiatury wykonywany jest za pomocą przerwania. Po naciśnięciu tego przycisku nic się nie dziej. Jak dam ten warunek do przerwania to działa.

    Funkcje:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Zmienne globalne:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Funkcja obsługująca odczyt danych z klawiatury:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Przerwanie plus program główny:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kto mógłby pomóc?
  • REKLAMA
  • REKLAMA
  • #3 9552471
    dan50
    Poziom 12  
    Włączenie przerwania jest w funkcji
    initATkbd();

    opóźnienie musiałem dać, bo jak go nie było to za drugim razem jak nacisnąłem przycisk to inna komenda była wysyłana poprzez klawiaturę. Co do volatile, to zaraz sprawdzę.
  • REKLAMA
  • Pomocny post
    #4 9552481
    dondu
    Moderator na urlopie...
    dan50 napisał:
    opóźnienie musiałem dać, bo jak go nie było to za drugim razem jak nacisnąłem przycisk to inna komenda była wysyłana poprzez klawiaturę.

    Powtarzam, że to błąd. Ale zrobisz jak zechcesz.

    Wklejając program wklejaj wszystko co niezbędne, bo za język trzeba Cię ciągnąć by dowiedzieć się, że sei() jest choć go nie widać.

    Punkt 2 z linku także Ciebie dotyczy.
  • #5 9552671
    dan50
    Poziom 12  
    Dzięki za pomoc. Zastosowałem te volatile i wszystko działa.
    Jeszcze raz dzięki wielkie za pomoc i za stronkę.
    ISR też zastosowałem.
REKLAMA