www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

USB HID
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.71
Kraj: glej fogl

PrispevekObjavljeno: Čet Mar 08, 2007 3:31 pm    Naslov sporočila:  USB HID Odgovori s citatom

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70649.19

PrispevekObjavljeno: Čet Mar 08, 2007 5:37 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Domenius
Član
Član



Pridružen-a: Sre 30 Nov 2005 14:15
Prispevkov: 1188
Aktiv.: 5.00
Kraj: Medvode

PrispevekObjavljeno: Čet Mar 08, 2007 8:16 pm    Naslov sporočila:  Re: USB HID Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
trot
Član
Član



Pridružen-a: Čet 18 Jan 2007 20:25
Prispevkov: 1282
Aktiv.: 5.71
Kraj: glej fogl

PrispevekObjavljeno: Pet Mar 09, 2007 9:03 am    Naslov sporočila:   Odgovori s citatom

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.16
Kraj: Ljubljana

PrispevekObjavljeno: Pet Mar 09, 2007 9:20 am    Naslov sporočila:   Odgovori s citatom

trot je napisal/a:
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č?

* hysterical * hysterical * hysterical *

Ha, ha..

Kaj ne znaš rusko..
Jaz tudi ne.. Rolling Eyes
Ampak on je USB legasy mode uporabil!!!

LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gaborp
Član
Član



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

PrispevekObjavljeno: Pet Mar 09, 2007 10:09 am    Naslov sporočila:   Odgovori s citatom

trot je napisal/a:
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č?


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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.16
Kraj: Ljubljana

PrispevekObjavljeno: Pet Mar 09, 2007 10:32 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Domenius
Član
Član



Pridružen-a: Sre 30 Nov 2005 14:15
Prispevkov: 1188
Aktiv.: 5.00
Kraj: Medvode

PrispevekObjavljeno: Pet Mar 09, 2007 2:01 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
RastaMan
Član
Član



Pridružen-a: Tor 04 Jan 2005 22:06
Prispevkov: 57
Aktiv.: 0.24
Kraj: Tolsti vrh - Novo mesto

PrispevekObjavljeno: Pet Mar 09, 2007 6:45 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3475
Aktiv.: 14.64
Kraj: Postojna

PrispevekObjavljeno: Pet Maj 16, 2008 2:52 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.59
Kraj: Trzic

PrispevekObjavljeno: Pet Maj 16, 2008 5:09 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
gaborp
Član
Član



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

PrispevekObjavljeno: Pet Maj 16, 2008 6:58 pm    Naslov sporočila:   Odgovori s citatom

Ravno tudi sam delam na host strani USB HID komunikacije. Priporočam to knjigo Usb Complete - Everything You Need To Develop Custom Usb Peripherals katere avtor je Jan Axelson, ki je pravtako avtor strani, ki ti jo je v prejšnem postu predlagal NeoTO.

Tule so pa še drugi viri, ki sem jih našel na webu (vsi so za .NET Framework):

http://www.codeproject.com/KB/cs/USB_HID.aspx
http://blogs.msdn.com/coding4fun/archive/2006/10/31/912422.aspx
http://sourceforge.net/projects/usbwisec/
http://www.vsj.co.uk/articles/display.asp?id=600
http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/

Upam da ti bodo kaj koristili.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70649.19

PrispevekObjavljeno: Pet Maj 16, 2008 9:03 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3475
Aktiv.: 14.64
Kraj: Postojna

PrispevekObjavljeno: Sre Maj 21, 2008 3:22 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bostjang
Član
Član



Pridružen-a: Tor 03 Jan 2006 15:29
Prispevkov: 3475
Aktiv.: 14.64
Kraj: Postojna

PrispevekObjavljeno: Tor Maj 27, 2008 8:41 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
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