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



Teraz jest 16 kwi 2024, o 09:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: Scan Code i AVR
PostNapisane: 13 kwi 2017, o 22:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

Nie musi być ryba, wędka też dobra.

Witam Was!

Mam problem z interpretacją przebiegu na oscyloskopie.
Próbuje zrobić odczyt klawiszy z klawiatury PS2.

Przebieg transmisji w teorii wygląda następująco:

bit startu, zawsze 0
8 bitów danych, od najmłodszego
bit parzystości, ustawiany gdy jest parzysta liczba jedynek
bit stopu, zawsze 1

Tutaj link do tabeli can codów.
A Tutaj link do strony na, której się wzorowałem. Jest tu taki fragment opisujący literkę a jako 0x1c -co ni jak się ma do powyższej tabeli kodów.
A jpg z oscyloskopu to 3 wcielenie literki a....

Zrobiłem dwa zdjęcia bo na jednym by było za małe to wszystko. Pierwszy jpg jest z lewej a potem pojawia się drugi.

Obrazek


Obrazek

Z oscyloskopu odczytuję 00011100001 "długo" nic i 0000011111100011100001 koniec

Literka a z tabeli 0x1E czyli b00011110
Literka a z strony 0x1C czyli b00011100
Literka a z oscyloskopu 0x38 czyli b00111000 bo pierwszy bit to 0...

Uprzejmie proszę o naprowadzenie mnie na prawidłowe tory. Próbowałem już odwracać przebieg prawo/lewo i 0/1 -i nic to nie dało.

_________________
Złoty Szpadel od Pana Mirka! Dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2017, o 00:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A odwróć kolejność bitów dla 00111000 (0x38) i masz 00011100 (0x1C) :)

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 5 minutach ]

norniiica napisał(a):
Literka a z tabeli 0x1E czyli b00011110
Literka a z strony 0x1C czyli b00011100

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


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


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


U wszystko się zgadza, wystarczy wybrać odpowiednią klawiaturę (Scan Code Set) :D


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2017, o 07:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

Jak obrócę to z kolei:

Z oscyloskopu odczytuję 00011100001 "długo" nic i 0000011111100011100001
a=00011100

Ok. Teraz nabiera to sensu, ale ale klawiatura wysyła dodatkowo kod 0xF0 -który tutaj wygląda tak: 00000111111... czy ktoś wie dlaczego tak a nie 11110000?

Mam! bo w sygnale zwolnionego klawisza F0 też jest bit startu czyli 0 potem trzeba odwrócić dane z oscyloskopu i teraz bit parzystości i bit stopu 1 ;))))

Dzięki
Czyli wiele zamieszanie wprowadza mi oscyloskop który najmłodsze dane wyświetla jako pierwsze...

_________________
Złoty Szpadel od Pana Mirka! Dziękuję.



Ostatnio edytowano 14 kwi 2017, o 22:42 przez norniiica, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2017, o 07:48 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

Z tego co wiem, być może się mylę bo dawno o tym czytałem, to klawiatura nie wysyła kodu ASCII, ale numer klawisza.
Przy naciśnięciu jakiś i przy puszczeniu inny (pewnie się jednym bitem różnią). Dopiero potem te kody są zamieniane na ASCII.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2017, o 11:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 wrz 2013
Posty: 47
Pomógł: 1

czarekgr napisał(a):
Z tego co wiem, być może się mylę bo dawno o tym czytałem, to klawiatura nie wysyła kodu ASCII, ale numer klawisza.
Przy naciśnięciu jakiś i przy puszczeniu inny (pewnie się jednym bitem różnią). Dopiero potem te kody są zamieniane na ASCII.


Dzięki za zainteresowanie ;)

My właśnie o kodach SCAN CODE cały czas mówimy -przynajmniej tak mi się wydaje.

_________________
Złoty Szpadel od Pana Mirka! Dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 kwi 2017, o 23:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
Czyli wiele zamieszanie wprowadza mi oscyloskop który najmłodsze dane wyświetla jako pierwsze...
Oscyloskop dobrze Ci wyświetla, bo pokazuje jak to jest fizycznie wysyłane. A interpretacja czy najpierw jest wysyłany najstarszy czy najpierw najmłodszy, należy do specyfikacji danej komunikacji.
http://www.computer-engineering.org/ps2protocol/
Ale jak możesz pooglądać na najnowszym poradniku Mirka o RS232 (http://mirekk36.blogspot.com/2017/04/rs ... dware.html), to w RS232 też najpierw masz wysyłany najmłodszy bita a na końcu najstarszy.

--
Pozdrawiam,
Robert



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 0 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