Witam Miałem chwileczkę czasu i postanowiłem użyć AVR jako klawiatury. Dużo jest projektów, w którym do AVRa podpinamy klawiaturę, natomiast nie widziałem takiego, gdzie to AVR robiłby za klawiaturę.
Jak to działa? Podpinamy wg tego rysunku
Naszego AVRa do gniazda PS/2 w komputerze w pliku klawiatura.h ustawiamy na jakich portach jest linia CLK oraz DATA
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Tutaj filmik z działania
!!UWAGA!!! Nie mam zielonego pojęcia dlaczego działają polskie znaki! Początkowo myślałem, że działać nie będą (chodzi mi o wysyłanie np. pojedynczego znaku) SendChar('a'); //wiadomo prześle 0x61 natomiast SendChar('ą'); //tu nie mam zielonego pojęcia co zostaje przesyłane (debugerem w eclispie nie potrafię się posługiwać) i nie wiem jakim cudem ta literka ą mieści się w 8bitowym słowie!
Więc jeśli komuś nie będą działały polskie literki, to proszę się nie dziwić.. bo wg.mnie one nie powinny działać, i dziwne jest to że mi działają )
Dołączył(a): 01 sie 2012 Posty: 245 Lokalizacja: Kielce
Pomógł: 6
xamrex napisał(a):
SendChar('ą'); //tu nie mam zielonego pojęcia co zostaje przesyłane (debugerem w eclispie nie potrafię się posługiwać) i nie wiem jakim cudem ta literka ą mieści się w 8bitowym słowie!
Mieścić się będzie mieścić (przecież litery łacińskie kończą się na 122). Dziwne mogło by być to czemu nie pokazuje się jakiś krzak. To zależy już od jakiś tam ustawień znaków w windowsie ale skoro pisałeś kod na tym samym komputerze i na tym samym komputerze sprawdzałeś to "ą" jest to przecież ta sama liczba. Nie wiem z jakiego kodowania korzystasz (najczęściej jest to , windows-1250 lub iso-8859-2). Jeśli ktoś inny będzie testował twój kod korzystając z innego kodowania niż ty to rzeczywiście dostanie jakieś krzaczki zamiast polskich liter.
Jeśli chcesz wiedzieć co zostało przesłane przy ą to nie musisz korzystać z debugera. W C jest taka funkcja dla leniwych , nazywa się itoa. Możesz też w programie od liczby znaku ą odjąć 127 i dostaniesz jednoznaczny znak ASCII na ekranie. Później sprawdzasz w tabelce kod zanu ascii i dodajesz 127.
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników