Зачем делают UART over USB?
От: vsb Казахстан  
Дата: 18.09.23 17:21
Оценка:
Встречаю очень многие устройства (да по сути 100% в интересующей меня нише), у которых USB-выход и через этот выход идёт UART over USB. Причём, насколько я могу судить, он идёт прямо из микроконтроллера.

Выходит следующая схема: в микроконтроллере программируют код по переводу последовательности байтов в этот квази-стандартный протокол, который потом через USB отправляется на целевой компьютер. В целевом компьютере эти байты дешифровываются и ими пользуются.

Протокол там непростой и не тривиальный, тут, к примеру, есть неполная реализация этого протокола на Java для андроид.

При этом, опять же в 100% случаев поверх этого потокового протокола делают сообщения, с границами и прочим.

Насколько я понял, в "чистом" USB уже есть запросы и ответы. Единственный нюанс — хост всегда должен запрашивать девайс, но это в любом случае происходит.

Т.е. я просто не понимаю — зачем всё это усложнение, если можно выкинуть пару слоёв, кучу кода и работать с USB "напрямую". Для работы с USB, например в андроиде и в браузере есть API, а для UART в андроиде нет. Для нативного кода есть годами отлаженная libusb.

Я глубоко пока в это не погрузился, поэтому может чего не понимаю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.