Jak wysłać daną komendę na dany port w komputerze?

0

Witam

Mam małe pytanie a mianowicie mam podpięty pod komputer pod wejście USB jakieś urządzenie, które kiedy otrzyma komende np. 1111 to odpowie mi coś. Jak przy pomocy c lub c++ wysłać coś właśnie na ten port usb zeby doszło do tamtego urządzenia?
Musze mieć jakąś bibliotekę tego urządzenia czy wystarczy tylko znać komendy i w C napisać mały program?
Sterowniki tego urządzenia będą zainstalowane na komputerze.

Może są jakieś przykłady, bo na mikro kontrolery avr ustawiałem różne piny i odbierało/wysyłało dane ale tutaj kompletnie nie mam pomysłu jak to zrobić a wydaje mi się ze to pewnie parę linijek kodu żeby wysyłć dany kod szesnastkowo lub binarnie.

Będę wdzięczny za wszelkie wskazówki.

0

Stack USB jest o wiele bardziej skomplikowany niż reszta. Szukaj API od producenta urządzenia.

0

Api raczej NIE MA, bo mi bardzije chodzi o to że już kabelek jest gotowy np. taki jak do programowania AVR'ów, lub taki do diagnozowania auto elm 327 , a mi chodzi o to zeby pod to napisać oprogramowanie. W idea etgo jest taka ze ma wysyłać coś i odbierać, odpowiednie komendy/kody to już bede musiał sobie doczytać.

W Visualu 2010 znalazłem jakąś opcje serial port w jakimś przykładzie ale widze że tam tylko COM jest obsługiwane, można tam też jakoś USB wstawić?

Jest tam jeszcze taka linijka odnośnie tego serial port któa pewnie wysyłą coś na ten port

 serPort1.Write(COMMAND & Chr(13))

Macie może jakieś wskazówki?

0

To nie tak. Napisałeś, ze sterowniki są zainstalowane. Teraz musisz się komunikowac z tymi sterownikami, pewnie będą potrzebne biblioteki od producenta. Jak sie komunikować, jakie biblioteki? Skontaktuj się z producentem, bo to on pisał sterowniki i nie ma uniwersalnego sposobu. Jeśli to urządzenie jest wykrywane w systemie jako emulowany port COM czy tam LPT, to komunikujesz sie normalnie przez port COM/LPT.

0

Sterowniki mam dostarczone razem z kabelkiem, a można jakoś wywołać wysłanie danej komendy na USB ? Bo tam wszystko pisze ze pod com, a ten kabelek jest pod usb i nawet nie mam w lapku portu com.

0

Piszesz, że masz sterowniki. Tak więc podstawowe pytanie - jaki typ urządzenia jest widoczny menedżerze urządzeń?

0

Nie mam jeszcze zainstalowane, bo dopiero w poniedziałek bede się tym zajmował, ale z tego co mi wiadomo w programach dołączonych do tego kabelka jest wybór ustawień i wybiera się na którym porcie COM jest to podłączone, ale kabelek nie jest na COM tylko na USB więc pewnie będzie to wirtualny port i wtedy by się problem rozwiązał bo wtedy normalnie go wykryję i wyśle mu jakąś komendę i będę oczekiwał na odpowiedz.

Myślicie że jak wyślę mu komendę na ten dany port np. COM1 to dostane jakąkolwiek odpowiedz? np. wysyłam mu F1 (HEX) a dostane np. 01 (HEX) czy jednak to nie będzie takie proste i trzeba będzie grzebać w sterownikach/dokumentacji i wysyłać jakoś inaczej?

0

Jeśli windows pokazuje wirtualny port com to urządzenie pracuje w trybie CDC, jeśli nie to w trybie HID. Obsługa obu trybów jest banalnie prosta, większy problem stanowi tu brak znajomości protokołu. Ściągnij sobie jakiś USB port monitor (sniffer usb) i zobacz jakie dane lecą na porcie.

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