Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 gru 2024, o 05:13


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 23 sie 2013, o 15:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

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
Obrazek

Naszego AVRa do gniazda PS/2 w komputerze
w pliku klawiatura.h ustawiamy na jakich portach jest linia CLK oraz DATA

Domyślnie:
PORTC0 -> CLK
PORTC1 -> DATA


main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


klawiatura.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


klawiatura.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
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ą :))



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 16:07 
Offline
Użytkownik
Avatar użytkownika

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.

_________________
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796



Ostatnio edytowano 23 sie 2013, o 16:22 przez Wojtek001, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 16:20 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

xamrex napisał(a):
i nie wiem jakim cudem ta literka ą mieści się w 8bitowym słowie!


A z jakiego powodu miałaby się nie mieścić ;) ..... kodowanie ISO albo WIN1250 i po sprawie - wszystko w ramach 0-255 ;)

Przy okazji - bardzo fajny projekcik ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 20:41 
Offline
Użytkownik

Dołączył(a): 02 gru 2012
Posty: 239
Lokalizacja: Stróża-Łódż
Pomógł: 7

Witam.U mnie program nie przechodzi kompilacji ?
Obrazek
Pozdrawiam serdecznie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Jeśli używasz Toolchaina Atmela to tutaj znajdziesz odpowiedz http://mirekk36.blogspot.com/2012/08/ec ... zytaj.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sie 2013, o 22:39 
Offline
Użytkownik

Dołączył(a): 02 gru 2012
Posty: 239
Lokalizacja: Stróża-Łódż
Pomógł: 7

Witam Jackku tak to właściwa wskazówka - dziękuję.
Pozdrawiam serdecznie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO