USB-порты не похожи на «немые» последовательные порты RS-232.Это шина, требующая довольно сложной обработки, управляемая хостом (обычно компьютером).Операции очень низкого уровня, такие как «отправка нулей и единиц» на выводы данных, более или менее невозможны.
Самым простым способом программирования USB из пользовательского пространства в Linux, вероятно, является использование libusb .
На стороне клиента (ваше пользовательское оборудование USB) либо ищитесистема со встроенным контроллером USB или программный стек.Я не думаю, что написание вашего собственного программного стека возможно, так как вы (без обид), кажется, не совсем на том уровне относительно своих знаний о USB.
V-USB например, программный USB-стек для микроконтроллеров Atmel AVR.