Нет, вы не можете просто «поместить данные на USB ».
USB является универсальной последовательной шиной. Шина (в компьютере) - это канал управления и передачи данных, в данном случае для подключения периферийных устройств (или адаптеров) к компьютеру. USB подключает периферийные устройства так же, как PCI принимает карты / платы адаптера. Ожидается, что USB-хост свяжется с USB-устройством по протоколу USB. USB - это просто способ подключения периферийных устройств к компьютеру; USB (сама шина) не является устройством или соединением конечного пользователя.
Скорее всего, вы путаете "USB" с последовательным (RS-232) коммуникационным USB-адаптером. То, что вы думаете, это просто USB-порт на самом деле USB- устройство для последовательного порта связи. Windows сообщит о таком устройстве USB, как COM-порт; тот факт, что соединение осуществляется через USB, скрыт, если вы не ищете дополнительную информацию, такую как просмотр диспетчера устройств.
Чтобы ответить на очевидный дополнительный вопрос:«Нет, вы не можете просто поместить данные в последовательный канал связи», если вы ожидаете, что они будут надежно прочитаны на принимающей стороне.
- Вы просто поместите двоичные данные в ссылку без каких-либо проверок целостности (плохая идея).
- Если A-D-преобразование производит более 8 битов на выборку, то у вас есть значения многобайтовой выборки. Вам нужно какое-то кадрирование данных, чтобы сгруппировать и идентифицировать байты для выборки.
- Существуют линейные протоколы, которые используют (дольше, чем "нормальный") временные промежутки для указания границ кадрирования или пакета (например, Modbus), но для этого требуется надежная работа последовательного порта и драйвера на принимающей стороне. На уровне приложения / пользователя нет способа точно измерить время между полученными байтами. Поэтому использование дополнительных байтов для обеспечения кадрирования является наиболее надежным.
- Правильный способ отправки и получения данных по последовательной связи для определения и использования протокола, особенно если данные являются двоичными (не текстовыми). Даже если поток данных является однонаправленным, выберите записи фиксированной или переменной длины и определите компоновку, которая организует передаваемые данные.