189 похожих чатов

Разбираюсь с usb stm32, в учебных целях хочу реализовать обмен

данными. И че-то не могу понять, если в микроконтроллере есть аппаратное usb, зачем реализовывать вариант через uart с протокол modbus?

11 ответов

11 просмотров

На компе проще уарт, чем usb полноценный реализовать.

romanetz
на прикладном уровне -одинаково

Да не верю. Читать/писать уарт любым терминалом можно. Ну или serial в любом питоне/матлабе/сишечке

USB - очень так себе протокол. Он громоздок, и по этой причине нецелесообразен в большинстве случаев. В USB куча лишних действий. Отчасти это скрывают готовые стеки, но прикрутить их в проект средней сложности и не получить при этом глюков - отдельная задача. Насчет лишнего - в частности, если прикручивать USB, то придется реализовывать и уход устройства в сон, потому что, согласно стандарту, устройство должно адекватно реагировать на команду снижения энергопотребления. Миллион дескрипторов, основная часть из которых нафиг не нужна, но продолжает использоваться по старой памяти. Например, Configuration Descriptor. Он используется хорошо если в 0.1% случаев, а так я уже и не вспомню, когда видел устройство с количеством этих дескрипторов больше одного. И так далее. Вишенка на торте - USB требует отчислений за VID, при этом готовые дескрипторы хотя бы от той же ST имеют очень сомнительную легальность - USB Implementers Forum активно противодействует всем, кто пытается раздавать VID/PID бесплатно. Потому в 99% случаев лучше всего поставить в устройство переходник USB-UART и забыть о всех проблемах. Вообще, я жду, когда разум возобладает и в USB добавят что-то типа "UART mode", чтобы можно было специальной посылкой переключить хост в режим обмена по UART. Учитывая, сколько в USB уже понапихали всего, это не такая сложная задача.

Electronics Designer
USB - очень так себе протокол. Он громоздок, и по ...

А ваши задачи никогда не включали в себя составное устройство и изохрон?

Electronics Designer
USB - очень так себе протокол. Он громоздок, и по ...

Есть микросхемы usb по spi которые внутри имеют весь стек, что можете сказать про них?

3
Есть микросхемы usb по spi которые внутри имеют ве...

USB - минимум 480мбит/с. Какой SPI это видержит?

Igor Zafievsky
USB - минимум 480мбит/с. Какой SPI это видержит?

Мыши и клавы как работали на скорости 1,5 мбита low speed, так и продалжают на них работать, откуда у вас usb минимум 480 мбит?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта