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

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

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

11 ответов

7 просмотров

На компе проще уарт, чем 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 мбит?

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

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

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
7
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта