{"id":27,"date":"2010-02-14T21:14:09","date_gmt":"2010-02-14T20:14:09","guid":{"rendered":"http:\/\/silent.org.pl\/home\/?p=27"},"modified":"2010-02-14T22:28:45","modified_gmt":"2010-02-14T21:28:45","slug":"sterownik-myszy-szeregowej","status":"publish","type":"post","link":"https:\/\/silent.org.pl\/home\/2010\/02\/14\/sterownik-myszy-szeregowej\/","title":{"rendered":"Sterownik myszy szeregowej"},"content":{"rendered":"<p>Ostatnio w wolnym czasie dla zabawy zbudowa\u0142em prosty sterownik myszki szeregowej.<br \/>\nPo pod\u0142\u0105czeniu do portu COM i wystartowaniu komputera jest wykrywany jako zwyk\u0142a myszka 2-przyciskowa.<br \/>\nUk\u0142ad powsta\u0142 z moich p\u0142ytek testowych. Jest to najzwyklejsze po\u0142\u0105czenie mikrokontrolera ATMega8 z COMem przez uk\u0142ad MAX232. Dodatkowo do lini RTS portu pod\u0142\u0105czy\u0142em tranzystor poprzez diod\u0119 prostownicz\u0105 i opornik, kt\u00f3ry uruchamia przerwanie w chwili pojawienia si\u0119 stanu wysokiego.<br \/>\n    <a href=\"http:\/\/silent.org.pl\/images\/serialmouse.jpg\" target=\"blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/serialmouse.jpg\" border=\"0\" alt=\"\" \/><\/a><br \/>\nProtok\u00f3\u0142 jest bardzo prosty. Po pojawieniu sie +12V na linii RTS uk\u0142ad wysy\u0142a bajt 0x4D (&#8222;M&#8221;) w celu inicjacji. Dalsza komunikacja polega na wys\u0142aniu 3-bajtowych pakiet\u00f3w z aktualnym stanem zgodnie z t\u0105 tabelk\u0105:<br \/>\n    <img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/smp.png\" border=\"0\"><br \/>\nParametry transmisji to 1200 bod\u00f3w\/s, 7\\8 bit\u00f3w danych oraz brak kontroli parzysto\u015bci. W przypadku 8 bit\u00f3w danych, najstarszy bit zawsze ma warto\u015b\u0107 1. Bit 6 w ka\u017cdym bajcie jest sta\u0142y. L i R maj\u0105 warto\u015b\u0107 1 w przypadku wci\u015bni\u0119tego przycisku, a X\\Y 0-7 to liczba w kodzie U2 (-128 do 127) okre\u015blaj\u0105ca zmian\u0119 po\u0142o\u017cenia kursora.<\/p>\n<p>Kr\u00f3tki program w j\u0119zyku Bascom razem z HEXem skompilowanym dla ATMegi8@12MHz dost\u0119pny poni\u017cej. Co 2 sekundy &#8222;robi kwadrat&#8221; kursorem po ekranie. Mo\u017cna go rozbudowa\u0107, np. o obs\u0142ug\u0119 klawiatury matrycowej.<\/p>\n<p><?php filelink('mouse_bas.zip'); ?><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ostatnio w wolnym czasie dla zabawy zbudowa\u0142em prosty sterownik myszki szeregowej. Po pod\u0142\u0105czeniu do portu COM i wystartowaniu komputera jest wykrywany jako zwyk\u0142a myszka 2-przyciskowa. Uk\u0142ad powsta\u0142 z moich p\u0142ytek testowych. Jest to najzwyklejsze po\u0142\u0105czenie mikrokontrolera ATMega8 z COMem przez uk\u0142ad MAX232. Dodatkowo do lini RTS portu pod\u0142\u0105czy\u0142em tranzystor poprzez diod\u0119 prostownicz\u0105 i opornik, kt\u00f3ry <a href='https:\/\/silent.org.pl\/home\/2010\/02\/14\/sterownik-myszy-szeregowej\/' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":40,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts\/27"}],"collection":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":14,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts\/27\/revisions\/45"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/media\/40"}],"wp:attachment":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}