Ostatnio w wolnym czasie dla zabawy zbudowałem prosty sterownik myszki szeregowej.
Po podłączeniu do portu COM i wystartowaniu komputera jest wykrywany jako zwykła myszka 2-przyciskowa.
Układ powstał z moich płytek testowych. Jest to najzwyklejsze połączenie mikrokontrolera ATMega8 z COMem przez układ MAX232. Dodatkowo do lini RTS portu podłączyłem tranzystor poprzez diodę prostowniczą i opornik, który uruchamia przerwanie w chwili pojawienia się stanu wysokiego.
Protokół jest bardzo prosty. Po pojawieniu sie +12V na linii RTS układ wysyła bajt 0x4D („M”) w celu inicjacji. Dalsza komunikacja polega na wysłaniu 3-bajtowych pakietów z aktualnym stanem zgodnie z tą tabelką:
Parametry transmisji to 1200 bodów/s, 7\8 bitów danych oraz brak kontroli parzystości. W przypadku 8 bitów danych, najstarszy bit zawsze ma wartość 1. Bit 6 w każdym bajcie jest stały. L i R mają wartość 1 w przypadku wciśniętego przycisku, a X\Y 0-7 to liczba w kodzie U2 (-128 do 127) określająca zmianę położenia kursora.
Krótki program w języku Bascom razem z HEXem skompilowanym dla ATMegi8@12MHz dostępny poniżej. Co 2 sekundy „robi kwadrat” kursorem po ekranie. Można go rozbudować, np. o obsługę klawiatury matrycowej.
Pobierz plik: mouse_bas.zip
Rozmiar: 1.02 KB
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/ebiwptr/silent/home/filedb.php on line 99
GOOD THNKS
title…
this is my Excerpt…
Stronka wolna, projektów od wczoraj nie przybyło, opierdalasz sie 😀
nie pozdrawiam 😀
Krzysiek =]