eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Klawiatura USB i jej obsługa
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2014-02-26 23:33:05
    Temat: Klawiatura USB i jej obsługa
    Od: "Akond ze skwak" <A...@s...pl>

    Jest problem ...
    Mianowicie klawiatura USB podłączona do procesora SAM3X przez port native
    ( płyta Arduino DUE).

    Wiem ... Arduino - kupa szmelcu weź się człowieku za coś innego ...

    Ale może ktoś jednak się z tym bawił.
    W bibliotekach i dostępnych przykładach do obsługi owej klawiatury
    użyta zostaje klasa HostUSB i KeyboardController w taki sposób, że w pętli
    głównej programu
    wywołuje się metodę HostUSB.Task() która odpowiada za komunikację i ruch na
    USB.

    Wszystko działa pięknie ( w przykładach) , pod warunkiem, że się za bardzo
    nie skomplikuje projektu.

    Problem polega na tym, że po podłączeniu klawiatury do układu i jej
    zidentyfikowaniu przez system
    wspomniana metoda Task() czeka na naciśniecie klawisza i blokuje proces.
    Istnieje stała czasowa TIME_LIMIT 5 sekund ... czyli co 5 sek dostaję
    informację, że nic się nie dzieje.
    Jeżeli nacisnę klawisz to oczywiście od razu jest reakcja.

    Patrząc do środka procedury widzę moment zatrzymania w pętli ograniczonej
    przez timeout 5sek
    w której jest funkcja UHD_Pipe_Is_Transfer_Complete odbierająca dane z
    klawiatury.

    Zmniejszenie limitu timeout poniżej 100 ms powoduje błąd inicjowania
    urządzenia.
    A i tak to jest jak dla mnie za duża strata czasu.

    Próbowałem metodę Task uruchamiać z przerwania albo innego wątku Shedulera
    ale nic to nie daje.
    Po prostu - gdy z klawiaturą nic się nie dzieje Task czeka 5 sekund
    obojętnie gdzie by jej nie wsadzić.

    Jedynie co mi przychodzi do głowy to rozpisanie tej klasy na drobne i
    włączenie po kawałku do pętli głównej programu.

    ... albo poszukanie sposobu aby mój program uruchamiany był z wnętrza klasy
    HostUSB ... to może być rozwiązanie .
    Coś podobnego jak USB na ATmega8.

    Pozdr.







  • 2. Data: 2014-02-27 19:19:15
    Temat: Re: Klawiatura USB i jej obsługa
    Od: "Akond ze skwak" <A...@s...pl>

    No i udało się ...

    Do najbardziej zagnieżdżonej pętli wstawiłem procedurę
    UsbUserCalback, wyprowadziłem ją na zewnątrz.
    W pętli głównej uruchamiam HustUSB.Task, a to co tam miałem
    przeniosłem do UsbUserCalback.
    Klawiatura działa i cała reszta również.

    Pozdr. AzS


    PS.
    Im dłużej się tym bawię (Ardiuno DUE) tym bardziej mi się podoba.
    I nie jest to kryptoreklama ...








  • 3. Data: 2014-02-27 20:03:43
    Temat: Re: Klawiatura USB i jej obsługa
    Od: "tusk, donald tusk" <N...@g...pl>

    skąd zassałeś biblioteki?


  • 4. Data: 2014-02-27 20:14:38
    Temat: Re: Klawiatura USB i jej obsługa
    Od: "Akond ze skwak" <A...@s...pl>




    >skąd zassałeś biblioteki?

    Z linków na forum Arduino.

    np :

    http://arduino.cc/en/Reference/USBHost#.Uw-OTWeYa70





  • 5. Data: 2014-02-27 20:26:14
    Temat: Re: Klawiatura USB i jej obsługa
    Od: "Akond ze skwak" <A...@s...pl>

    >skąd zassałeś biblioteki?

    Sorry ... akurat HostUsb ( i wiele innych) instaluje się razem z IDE

    http://arduino.cc/en/Main/Software#.Uw-PemeYa70



strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: