Цитата(DrMcSheen @ Jul 2 2011, 18:57)

Господа, помогите научиться управлять внешним устройством через USB порт.
Самое простое и быстрое - взять пример CDC-устройства, а по-проcтому USB/COM-конвертера, построенного на выбранном вами МК. Приложения такого рода легко найти на сайте компании-производителя МК, имеющего на борту USB-интерфейс. Обычно в таком приложении бывают реализованы функции передачи и приема байт USB- и UART-интерфейсами. Например:
USB_TX( char B ) - передача байта b по USB.
USB_RX( char B ) - прием байта b по USB, эта функция сама вызывается, при каждом принятом байте.
иногда последняя функция выдает сразу строку принятых байт: USB_RX( char *str, int len), т.к. по USB обычно передают блоками.
Аналогично выглядят и функции приема/передачи по UART:
UART_TX( char B ) - передача байта b по UART.
UART_RX( char B ) - прием байта b по UART, эта функция сама вызывается, при каждом принятом байте.
Фунция конвертора программируется как-то так:
UART_RX( B ) { USB_TX( B ); } - передавливает принятые по UART байты в USB.
USB_RX( B ) { UART_TX( B ); } - передавливает принятые по USB байты в UART.
или
USB_RX( str, len) { for(int i=0;i<len;i++) UART_TX( str[i]); }
Так вот это место разламываешь и пишешь в тело функции USB_RX() свой код, который использует принятые по USB байты по назначению, т.е. рассматривая их, как команды.