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.

oprogramowanie klawiatury PS/2 na SAM7

07 Gru 2009 19:44 1203 3
  • Poziom 11  
    Ma ktoś może kod, albo wie jak oprogramować klawiature PS/2 na ARM-ie SAM7? Znalazłem w książce o AVR-ach kod programu co prawda nie pełny, ale go troche przerobiłem , tylko mam problem bo mi sie mikroprocek zawiesza po wgraniu, może ktoś mnie nakieruje jak obsłużyć klawiature."Elektryke" mam zrobioną wg tej samej książki, zresztą jeśli o nią chodzi to skomplikowania tam nie ma.
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 25  
    Link Co prawda też dla AVR ale może pomoże coś.
  • Poziom 11  
    Dzięki, miałem coś podobnego choć tu jest bardziej rozbudowane, spróbuje to przerobić.
    Jednak jak ktoś ma jeszcze jakieś sugestie to wysłucham :)
  • Poziom 15  
    Tutaj masz przykład obsługi klawiatury na AVRku:
    Code:
    ISR(INT0_vect)
    
    {
       if(k_i == 0)
       {   
          dane_klawiatury = 0;               // wyczyszczenie ostatniego odczytanego klawisza
          k_i++;
       }
       else if(k_i >= 1 && k_i <= 8)         // odczytywanie bitów danych klawiatury
       {
            if(bit_is_set(PIND,PD0))
                dane_klawiatury |= _BV(k_i-1);
            k_i++;
       }
       else if(k_i == 9)
            k_i++;
       else                                 // zakończenie odczytywania danych klawiatury
       {
          k_i = 0;   
          obsluga_klawiatury();
       }

    }

    Zasada działania jest banalnie prosta. Z klawiatury masz dwa sygnały CLK i DATA. W takt zmian sygnału CLK przesyłane są dane klawiatury. Sygnał CLK podajesz na PIN będący źródłem przerwania reagującego na zbocze narastające a sygnał DATA podajesz na inny PIN, którego stan badasz w momencie wygenerowania przerwania. W jednym cyklu przesyłanych jest 11 bitów od klawiatury z czego wystarczy wyłapać bity od 2 do 9 zawierające bajt kodu od klawiatury. Ten 8-bitowy kod mówi o wszystkich zdarzeniach jakie miały miejsce na klawiaturze czyli wciśnięcie określonego klawisza oraz puszczenie określonego klawisza. Będziesz to mógł sobie podpiąć do czego będziesz tylko chciał.

    Tutaj masz jeszcze pomocne materiały, w których jest wszystko fajnie opisane i zilustrowane:
    http://aq.ia.agh.edu.pl/Aquarium/LABS/uP/Klawiatura.pdf