 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
trot Član


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.71 Kraj: glej fogl
|
Objavljeno: Čet Mar 08, 2007 3:31 pm Naslov sporočila: USB HID |
|
|
Gledam po netu lpc usb hid projekte, pa mi ni jasno, zakaj vsi uporabljajo lpc2148, ki podpira USB 2.0. A ni usb hid dovolj enostaven, da bi ga uporabil tudi na uC, ki nima hardverskega usb-ja? |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70649.30
|
Objavljeno: Čet Mar 08, 2007 5:37 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
Domenius Član



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.00 Kraj: Medvode
|
Objavljeno: Čet Mar 08, 2007 8:16 pm Naslov sporočila: Re: USB HID |
|
|
trot je napisal/a: |
A ni usb hid dovolj enostaven, da bi ga uporabil tudi na uC, ki nima hardverskega usb-ja? |
Ni ravno enostaven, se je treba kar poglobit v protokol če misliš implementirat USB. _________________ It's electric! |
|
Nazaj na vrh |
|
 |
trot Član


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.71 Kraj: glej fogl
|
Objavljeno: Pet Mar 09, 2007 9:03 am Naslov sporočila: |
|
|
Tole sem našel: http://www.cqham.ru/usbtherm1.html (žal je v ruščini)
Če ga je ta spravil v at9023213, potem ne more biti zelo zapleten, ali pač? |
|
Nazaj na vrh |
|
 |
GJ Član


Pridružen-a: Čet 02 Nov 2006 15:51 Prispevkov: 946 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Pet Mar 09, 2007 9:20 am Naslov sporočila: |
|
|
Ha, ha..
Kaj ne znaš rusko..
Jaz tudi ne..
Ampak on je USB legasy mode uporabil!!!
LP GJ |
|
Nazaj na vrh |
|
 |
gaborp Član

Pridružen-a: Sob 16 Jul 2005 9:54 Prispevkov: 63 Aktiv.: 0.27 Kraj: Škofja Loka / Tržič
|
Objavljeno: Pet Mar 09, 2007 10:09 am Naslov sporočila: |
|
|
Prevod strani v angleščino. Na PC strani pa je uporabil IgorPlug-USB driver. Kaj več ti pa jaz ne morem pomagati. Bi pa prosil ostale člane, ki so z USB-jem že delali če lahko prilimajo kaj uporabne literature. Predvsem me zanima kako so stvari rešili na PC strani. |
|
Nazaj na vrh |
|
 |
GJ Član


Pridružen-a: Čet 02 Nov 2006 15:51 Prispevkov: 946 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Pet Mar 09, 2007 10:32 am Naslov sporočila: |
|
|
gaborp je napisal/a: |
Predvsem me zanima kako so stvari rešili na PC strani. |
Driver ala miška/tastatura.
LP GJ |
|
Nazaj na vrh |
|
 |
Domenius Član



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.00 Kraj: Medvode
|
Objavljeno: Pet Mar 09, 2007 2:01 pm Naslov sporočila: |
|
|
Dol si potegni USB specifikacijo pa si poglej protokol. Čeprav je kodo spravil v 2KB flasha še ne pomeni, da je enostavna oz. da je enostavo priti do nje, če jo sam pišeš! No, sicer pa veš kako je... če se neko stvar sam spraviš delat iz nule, je veliko težja kot tista, kjer vidiš kodo in rečeš: "Ah, pa sej to je čist izi." _________________ It's electric! |
|
Nazaj na vrh |
|
 |
RastaMan Član

Pridružen-a: Tor 04 Jan 2005 22:06 Prispevkov: 57 Aktiv.: 0.24 Kraj: Tolsti vrh - Novo mesto
|
Objavljeno: Pet Mar 09, 2007 6:45 pm Naslov sporočila: |
|
|
Tukaj se nahaja knjižnica in veliko primerov za AVR-je ki hardveresko ne podpirajo USBja. Je pa samo USB 1.1
LP, Matevž |
|
Nazaj na vrh |
|
 |
bostjang Član

Pridružen-a: Tor 03 Jan 2006 15:29 Prispevkov: 3475 Aktiv.: 14.64 Kraj: Postojna
|
Objavljeno: Pet Maj 16, 2008 2:52 pm Naslov sporočila: |
|
|
Razvijam napravico, ki zaenkrat uporablja HID na LPC2368. Keil-ov demo dela brez problemov in z njegovim (ali pa kakšnim drugim) pripomočkom lahko prižigam LEDice.
Komunikacijo bi rad izvedel v LabVIEW, zato sem nadaljeval tam. Uporabiti sem želel API klice funkcij v hid.dll in setupapi.dll (del Windows). Žal mi zadeva ne deluje. Uporabljam naslednje funkcije:
HidD_GetHidGuid - da dobim GUID na HID razred
SetupDiGetClassDevs - da dobim info o napravah
SetupDiEnumDeviceInterfaces - da izvem podatke o posamezni napravi.
Sledile bi tudi druge funkcije, ampak se že tukaj ustavi.
SetupDiEnumDeviceInterfaces vrne 0, kar pomeni, da ni nobene naprave več. Pri uporabi ustreznega GUID, naj bi bila zadeva univerzalna, ampak, kaže da nimam nobene naprave v PC.
Če kličem GetLastError iz kernel32.dll, mi vrne kodo 259 kar pravilno pomeni "No more data is available." oz. da ni nobene naprave več.
Kakšna ideja kaj bi lahko bilo narobe? |
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.59 Kraj: Trzic
|
Objavljeno: Pet Maj 16, 2008 5:09 pm Naslov sporočila: |
|
|
Poglej si primere tukaj.
Sam sem gledal C#. Koda ima na vseh korakih preverjanje napak, zato jo je kar precej... _________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
gaborp Član

Pridružen-a: Sob 16 Jul 2005 9:54 Prispevkov: 63 Aktiv.: 0.27 Kraj: Škofja Loka / Tržič
|
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70649.30
|
Objavljeno: Pet Maj 16, 2008 9:03 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
bostjang Član

Pridružen-a: Tor 03 Jan 2006 15:29 Prispevkov: 3475 Aktiv.: 14.64 Kraj: Postojna
|
Objavljeno: Sre Maj 21, 2008 3:22 pm Naslov sporočila: |
|
|
Pravkar sem uspel prižgati LEDice in brati tipke iz LV.
Funkcije SetupDiEnumDeviceInterfaces še nisem uspel spraviti k delovanju, sem pa preskočil nekaj korakov in rezultate preskočenih funkcij pobral od drugje (register). Lahko bi tako naredil tudi v končni aplikaciji, ampak bi vseeno raje rešil SetupDiEnumDeviceInterfaces.
Uporabil sem naslednje funkcije:
CreateFile - Ja, tudi napravo (lahko virtualno) se lahko odpre s to funkcijo.
HidD_SetOutputReport
HidD_GetInputReport
CloseHandle
Namesto HID funkcij se lahko uporabi tudi
WriteFile
ReadFile
Prednost je tudi, da je branje bufferirano in ni take nevarnosti, da bi zgrešil kakšno sporočilo. Zato sta tidve funkciji bolj želeni.
Dela pa tudi funkcija HidD_GetAttributes(), s katero dobim VID, PID in verzijo. Čeprav bi lahko to prebral iz poti naprave. HidP_GetCaps mi tudi ne dela, potreboval pa bi jo vsaj za branje velikosti sporočil.
Takole pa izgleda pot do moje naprave:
\\?\HID#VID_C251&PID_1301#6&18B59850&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
Urejano: Dodano branje, WriteFile in HidP_GetCaps. |
|
Nazaj na vrh |
|
 |
bostjang Član

Pridružen-a: Tor 03 Jan 2006 15:29 Prispevkov: 3475 Aktiv.: 14.64 Kraj: Postojna
|
Objavljeno: Tor Maj 27, 2008 8:41 am Naslov sporočila: |
|
|
Kako pa uporabim Bulk I/O (v FW)?
Kolikor sem dojel iz članka v SE, je celotna koda narejena na HID primeru. Ta primer tudi stalno pošilja sporočila, kar bi rad spremenil, da bi naprava pošiljala samo kadar so novi podatki (tako kot običajna tipkovnica). Kako se to naredi (z deskriptorjem ali kako drugače)? |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 6 dni
Powered by phpBB © 2001, 2005 phpBB Group
|