Obsługa USB.

0

Witam wszystkich... Mam do Was pytanie. Szukałem w google, i ogólnie w całym internecie ale niczego nie znalazłem na ten temat. Chodzi mi o obsługę USB z poziomu Delphi lub np innego kompilatora Object Pascal/ C/C++. W jaki sposób można podłączyć coś do USB, wykryć to podłączenie programem i np wysłać rozkazy sterujące do portu USB np. zapalić podłączoną diodę, i odczytać stan podłączonej diody - czy jest zapalona czy wyłączona? widziałem już post o USB ale tam nie było odpowiedzi pod USB tylko do RS232

p.s proszę nie traktować tego postu wrogo:)

Z góry dziękuję za pomoc

2

Źle szukałeś.
Sterowanie portem USB

Szukałem w google, i ogólnie w całym internecie ale niczego nie znalazłem na ten temat.

Każdy jeden szukał, każdy jeden niczego nie znalazł. Serio, niezłym analfabetą musisz być żeby nie znaleźć nic w googlach. No ale przecież wpisać "USB Delphi" to duży wysiłek intelektualny (temat z 4programmers jest 6 wynikiem, są inne, może nawet lepsze).
Następnym razem napisz nie tylko że szukałeś i nie twierdź głupio że nic nie znalazłeś, tylko powiedz co znalazłeś i co nie działało. No ale gdzie ja, przecież łatwiej jest napisać temat i powiedzieć że się szukało.

0

Wielkie dzięki za odpowiedź:) Może być chociaż mi chodziło o bezpośrednie podłączenie diody np przez tranzystor a nie jakimś urządzeniem cóż pozostało tylko kupić cały pakiet

1

Trzeba przyznać że trochę "cienko" jest jak sie szuka na temat delphi + USB , lepiej szukać o samym USB ;)

Ja bym powiedział że USB to tylko warstwa transportowa , musisz coś powiedzieć wiecej o Twoim sprzecie który masz podłaczony do USB.
Bo w zaleznosci od tego co jest po drugiej stronie to wszystko zmienia.

Czy to jest HID czy tex może interesuje Cie transmisja BULK ISOC itp.
Jaki układ scalony jest użyty po stronie sprzętu bo producent może dawać swoje sterowniki albo możesz użyć czegoś standardowego libusb albo to co jest w windows.

Co do wykrywania sprzętu to np, WM_DEVICECHANGE będzie pomocne

Wiec ja bym zaczął od poczatku !
Co chcesz podłączyć ?

0

1 tranzystor i diodę z rezystorem ograniczającym prąd bez scalaków. dzięki za ten WM_DEVICECHANGE pomyślę jak to wykorzystać:)))

1

To podłączanie diody do USB ma podobny sens co podłączenie jej do karty sieciowej. Na podobnych zasadach z resztą działają oba protokoły, wysyła się ramki, a nie zapala linie.

1

http://www.google.com/search?q=delphi+libusb

1 tranzystor i diodę z rezystorem ograniczającym prąd bez scalaków.
Podłączyć to możesz, do linii zasilania, z tym że sterować tą diodą nie będziesz. Chyba że da się włączać i wyłączać zasilanie w porcie ;-)

0

Jeśli chcesz zrobić urządzonko podłączane do portu USB,. musisz mieć scalak z obsługą USB, jakiś mikrokontroler, np. nowe AtMegi (XMEGA) mają już wbudowaną obsługę, czy też większość na ARM.

Innym, prostszym rozwiązaniem jest zastosowanie translatora, np. FS232, który z jednej strony ma USB (podłaczasz do kompa, odpowiednio oczywiście zabezpieczony stosownymi kondensatorami czy diodami, szczegóły w specyfikacji, ja już nie pamiętam), z drugiej RS232, i do tej strony podłączasz niemalże dowolny mikrokontroler (np. popularną i tanią Atmegę8).
W nim implementujesz program, który w zależności od komendy jaką wyślesz z komputera zapali lub zgasi którąś z diod podłączoną bezpośrednio (tylko diody b.małych mocy) lub pośrednio (przez tranzystor). W ten sposób stworzysz też gotową bazę do dalszych zabaw. Poczytaj wtedy o U(S)ART.
(Od biedy są też sterowniki programowe dla mikrokontrolerów, ale chyba nie ma sensu się w to bawić, skoro są gotowe układy).

0

Tak jak pisze @wesoledi najprościej wykorzystać zintegrowany tani konwerter usb <-> uart czyli kostkę FT232.
Nie musisz do niego podłączać mikrokontrolera, gdyż możesz wykorzystać linie modemowe np RTS -> http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232BM.pdf
Kostkę FT232 system wykryje Ci jako zwykły port COM, więc z wysterowaniem jej problemu mieć nie będziesz z uwagi na sporą ilość gotowców w sieci.

0

@tweety - "1 tranzystor i diodę z rezystorem ograniczającym prąd bez scalaków" - przeczytaj proszę jakieś podstawy działania USB !!!, Wikipedia angielska wystarczy , USB to nie port drukarki tam masz dwa kabelki D- i D+ i nie ma fizycznie mozliwości aby kontroler ustawił ci na linii stan wysoki albo niski

1 użytkowników online, w tym zalogowanych: 0, gości: 1