-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!news.vectranet.pl!.POSTED!not-for-mail
From: "Akond ze skwak" <A...@s...pl>
Newsgroups: pl.misc.elektronika
Subject: Klawiatura USB i jej obsługa
Date: Wed, 26 Feb 2014 23:33:05 +0100
Organization: Vectra - http://www.vectra.pl
Lines: 51
Message-ID: <lelq35$ce4$1@news.vectranet.pl>
NNTP-Posting-Host: 088156211163.radom.vectranet.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: news.vectranet.pl 1393453989 12740 88.156.211.163 (26 Feb 2014 22:33:09 GMT)
X-Complaints-To: u...@n...vectranet.pl
NNTP-Posting-Date: Wed, 26 Feb 2014 22:33:09 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 16.4.3522.110
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3522.110
Xref: news-archive.icm.edu.pl pl.misc.elektronika:660324
[ ukryj nagłówki ]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.
Następne wpisy z tego wątku
- 27.02.14 19:19 Akond ze skwak
- 27.02.14 20:03 tusk, donald tusk
- 27.02.14 20:14 Akond ze skwak
- 27.02.14 20:26 Akond ze skwak
Najnowsze wątki z tej grupy
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=