Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Atmega8][C] problem z klawiaturą, wczytuje 2x ten sam znak

13 Sty 2012 20:14 1301 2
  • Poziom 10  
    Witam !

    Programuje właśnie uC Atmega8. Mam pewien problem z ustawieniem klawiatury. Otóż, podłączam ją poprzez ps/2 do atmegi, literki są poprawnie wyświetlane na wyświetlaczu LCD jednak jest taki problem ze podwójnie( AABB..) jeżeli wcisnę dość szybko jedna literkę po drugiej to mam : ABAB ... . Podejrzewałem, że to flaga 'nowy' jest za późno się zeruje, ustawia się ona na 1 jeżeli odebrano znak z klawiatury. Niestety nie potrafię sobie poradzić z tym problemem, mecze się już nad tym drugi dzień.
    Jestem początkującym w dziedzinie programowania w avr i nie zdziwiłbym się jeśli problemem była tylko pewna błahostka :) Korzystam z bibliotek z Link do obsługi LCD i klawiatury.
    Mój kod :
    Kod: c
    Zaloguj się, aby zobaczyć kod

    ps. poprawione unsigned char etc.

    Z góry Wielkie Dzięki za każda pomoc. :)
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 10  
    dzięki za odpowiedź.
    z tego co czytałem to literki(scancode'y) są przerywane kodem 0xF0 W takim razie w jaki sposób zignorować ten kod, ktory jest wysyłany po puszczeniu klawisza ? myślałem o wstawieniu pewnej flagi tylko nie wiem, w którym miejscu, przypuszczam że gdzieś obsłudze przerwań mogła by być, mam rację ?

    edited:
    rozwiązano!
    myślę, że Twoje uwagi Albercie w pewien sposób naprowadziły mnie na rozwiazanie problemu. Okazuje sie ze Wystarczyło napisać dodatkową funkcję :
    Kod: c
    Zaloguj się, aby zobaczyć kod

    p.s. jeśli ktoś chce includować bibliotekę stdio.h powinien zmienić nazwę w/w na inną.
    jakby komuś trzeba było to cały kod z obsługą LCD i klawiatury od radzia :
    Kod: c
    Zaloguj się, aby zobaczyć kod