Myszka plus mikrokontroler w Bascom

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Myszka plus mikrokontroler w Bascom

Post autor: Jasam » 15 gru 2007, 19:32

Mam pytanie. Szukam już dosyć długo i nie trafiłem na żadne dobre opracowanie po polsku. Po angielsku nie wszystko rozumiem. Na tej stronie ( http://www.computer-engineering.org/ind ... _Interface )poczytałem o protokole przesyłu danych i muszę powiedzieć, że jest dla mnie już całkowicie zrozumiały. Jednak interesuje mnie coś innego. Jak to działa? Na linię clk muszę ciągle podawać taktowanie z procesora i równolegle mysz zwraca mi linią danych (data) synchronizowaną za pomocą sygnału zegarowego paczkę danych przy każdym poruszeniu myszy? Czy może poprostu zwraca pewną ilośc próbek na sekundę? Czy może to mysz po zainicjowaniu taktowania sama się taktuje i wysyła do procesora sygnał taktujący do synchronizacji i dane? Proszę o wytłumaczenie. Pomóżcie koledzy...
Ostatnio zmieniony 01 sty 1970, 1:00 przez Jasam, łącznie zmieniany 1 raz.

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 15 gru 2007, 19:47

"When the keyboard or mouse wants to send information, it first checks the Clock line to make sure it's at a high logic level. If it's not, the host is inhibiting communication and the device must buffer any to-be-sent data until the host releases Clock. The Clock line must be continuously high for at least 50 microseconds before the device can begin to transmit its data."

Czyli jeżeli chcesz ty coś do niej nadać to oprocz sygnalu zegara podajesz dane. Jeżeli urzadzenie ma odpowiedzieć ci to czeka aż linia CLK ma stan wysoki (przez conajmniej 50us musi być linia zegara w stanie wysokim". Wtedy myszka zaczyna generowac impulsy zegara i danych.

http://www.computer-engineering.org/ind ... d_Protocol

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 15 gru 2007, 19:56

Znaczy jeśli dobrze rozumiem to powinno wyglądać następująco. Włączam układ do prądu. Początkowo nic się nie dzieje. Wtedy zaczyna się działanie. procesor podciąga na te co najmniej 50 us do plusa linie clk a potem wyłącza podciągnięcie. I od tego czasu co? Mysz sama zaczyna generować sygnał zegarowy i wysyła próbki danych przy każdym przesunięciu? czy nawet bez przesunięcia ustaloną na sztywno ilość próbek na sekundę przez linię data? Tak to działa?

[ Dodano: 2007-12-15, 19:58 ]
Wystarczy tylko raz podciagnać i będzie ciągle wysyłało dane potem?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 15 gru 2007, 22:46

Data reporting is handled according to the mode in which the mouse is operating. There are four modes of operation:

* Reset - The initial mode, in which the mouse performs initialization and self-diagnostics.
* Stream - The default operating mode, in which the mouse issues movement data packets when movement occurs or button state changes.
* Remote - The host must poll for movement data packets.
* Wrap - A purely diagnostic mode where the mouse echoes every received packet back to the host.

Czyli masz 4 tryby pracy, wykorzystujesz 2, stream albo remote. Jak włączysz ją w tryb stream to będzie wysyłała dane za każdym razem gdy nią ruszysz albo naciśniesz guzik. W trybie Remote musisz przez hosta wysłać do myszy odpowiednie komendy żeby ci odpowiedziała, czyli ty wymuszasz kiedy chcesz otrzymywać dane.
Oczywiście trzeba pamiętać o prawidłowej inicjalizacji, co także jest opisane na tej stronie którą w pierwszym poście przytoczyłeś ;)

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 15 gru 2007, 22:56

Ta inicjalizacja to to podciagniecie do plusa clk? jak wprowadzic mysz w tryb stream?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 15 gru 2007, 23:12

Jasam pisze:jak wprowadzic mysz w tryb stream?
Stream mode is the default operating mode
:)

Szczerze mówiąc nigdy nie robiłem obsługi myszki ale w tym linku jest:
http://www.computer-engineering.org/ind ... ialization

i chyba trzeba by z tej pierwszej wyłowić to co najważniejsze.

Tutaj masz troche po polsku: http://mipsa.p.lodz.pl/download/BazaWie ... iatura.pdf

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 15 gru 2007, 23:39

Może sie znajdzie ktos kto robił cos takiego juz...

ZbeeGin

Post autor: ZbeeGin » 16 gru 2007, 9:43

Tak jest taka osoba: Pan Rafał Baranowski który napisał książkę "Mikrokontrolery AVR ATtiny w praktyce". Znajdziesz tam koknretne rozwiązanie.

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 16 gru 2007, 12:32

W bascomie jest rozpisane w tej książce? Na jaki kompilator? Kurczę..nie ma czegoś w internecie? jakichś wyjątków z tej ksiązki? Bo nie bardzo mam tylke kasy, żeby kupować całą ksiązkę szczegolnie, że chodzi o ten jeden tylko problem.

ZbeeGin

Post autor: ZbeeGin » 16 gru 2007, 12:38

Nigdzie nie chwaliłeś się, że ma to być w BASCOMie. W książce wszystkie przykłady są pisane w asemblerze.

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 16 gru 2007, 12:39

Wolałbym w bascomu coś.

[ Dodano: 2007-12-17, 13:33 ]
czy nikt z was nie potrafi mi pomóc?

Znowuja
-
Posty: 4
Rejestracja: 17 gru 2007, 19:18
Lokalizacja: Stąd

Post autor: Znowuja » 17 gru 2007, 19:23

Ja mam podobny problem.... Tylko, że troszkę odwrotnie. Chcę podłączyć układ mikroprocesorowy do komputera tak aby udawał myszkę. Powinien móc przesuwać kursorem zależnie od powiedzmy przyciśniętego przycisku podłaczonego do mikroprocesorka. Pomóżcie...proszę...

Awatar użytkownika
joon
Użytkownik
Posty: 2076
Rejestracja: 30 cze 2007, 22:56
Lokalizacja: Kraków, Przemyśl, Warszawa
Kontakt:

Post autor: joon » 17 gru 2007, 20:27

Plik Help (PL) z Bascoma tam powinno być to czego potrzebujesz.

Jasam
Użytkownik
Posty: 422
Rejestracja: 27 mar 2007, 21:09

Post autor: Jasam » 17 gru 2007, 20:58

Właśnie nic tam nie widzę takiego...

Awatar użytkownika
joon
Użytkownik
Posty: 2076
Rejestracja: 30 cze 2007, 22:56
Lokalizacja: Kraków, Przemyśl, Warszawa
Kontakt:

Post autor: joon » 17 gru 2007, 21:15

Temat PS2 z tego co pamiętam oraz emulacja myszki i klawiatury.

ODPOWIEDZ