75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 342
|
|
1 | |
У STM32H743ZI не работает корректно CDC Virtual COM port через USB FullSpeed26.06.2019, 22:26. Показов 9372. Ответов 3
Борюсь с виртуальным COM портом через USB FS, есть две платы моя собственная и Nucleo. На форуме ST создать тему мне не позволяют, а на сообщение в старой теме ни кто не ответил.
Использую CubeMX 5.2.1 и Firmware FW 1.4.0. Windows 10 определяет COM port, но вот общаться через него нормальным способом не удается. В терминальных программах PuTTY, Real term выдается сообщение, что не верные параметры порта, такое же исключение выбрасывает C# и Qt при попытке открыть порт ("The parameter is incorrect"). Параметры пробовал разные и самые простые из настроек драйвера по умолчанию 8 бит, 9600, без четности, 1 стоп, без flowcontrol (в Linux все работает при любых параметрах, что в Qt, что в терминальных программах). Пробовал использовать драйвер Windows по умолчанию и устанавливать с сайта ST для Windows 7 - поведение одинаковое. В Windows 10 удается однако тоже общаться через COM порт с помощью программы TeraTerm или пользуясь Си функциями: fopen("COM6", "r+"), fwrite, fread, fclose - т.е. без всяких параметров работы порта. Но хотелось бы, чтобы порт мог работать нормально со всеми программами. Такое впечатление, что драйверу COM порта не удается записать параметры в USB устройство и он поэтому не хочет с ним работать, Linux видимо такие проверки записываемых параметров не делает. Пробовал использовать более старые версии CubeMX 4.27.0 и FW 1.3.2 там дела еще хуже - компьютер не видит USB устройство. Точнее, если загрузить и запустить быстро прошивку после более новой, новый COM порт с другим номером появляется и даже работает через PuTTY, но стоит включить/выключить питание COM порт не появляется, так же если просто начисто загрузить прошивку, т.е. FW 1.3.2 не устанавливает соединение (VBUS sense включено, но не работает) Добавлено через 21 минуту Размер кучи увеличиваю до 0x400 В файле usbd_desc.c исправляю ошибку Программа UsbView: ===>Device Descriptor<=== bLength: 0x12 bDescriptorType: 0x01 bcdUSB: 0x0200 bDeviceClass: 0x02 -> This is a Communication Device bDeviceSubClass: 0x02 *!*ERROR: bDeviceSubClass of 2 is invalid bDeviceProtocol: 0x00 bMaxPacketSize0: 0x40 = (64) Bytes idVendor: 0x0483 = STMicroelectronics idProduct: 0x5740 bcdDevice: 0x0200 iManufacturer: 0x01 English (United States) "STMicroelectronics" iProduct: 0x02 English (United States) "STM32 Virtual ComPort" iSerialNumber: 0x03 English (United States) "383A34463137" bNumConfigurations: 0x01 на bDeviceSubClass 0x00
0
|
26.06.2019, 22:26 | |
Ответы с готовыми решениями:
3
F3 Discovery USB CDC(Virtual Com Port) - дело в железе? Организация связи по ethernet, по аналогии с USB CDC Virtual com port ПК не определяет stm32f3discovery ни как Custom HID, ни как CDC Virtual com port Описание протокола USB CDC Abstract Control Model (Virtual ComPort) STM32F4 USB Virtual Com Port |
75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 342
|
||||||||||||||||
27.06.2019, 10:49 [ТС] | 2 | |||||||||||||||
Для варианта CubeMX 4.27, FW 1.3.2 есть способ оживить USB добавив в функцию инициализации вызов функции
Добавлено через 1 час 24 минуты Пустой проект CubeMX 5.2.1 + FW1.3.2 с виртуальным COM портом работает корректно, но при добавление шины FMC (Mux PSRAM) виртуальный COM порт перестает записывать параметры. Если закоментировать инициализацию FMC, то виртуальный COM порт опять работает полноценно.
В варианте CubeMX 5.2.1 + FW1.4.0 запись параметров виртуального COM порта не работает не зависимо, есть FMC или нет.
0
|
0 / 0 / 0
Регистрация: 01.05.2021
Сообщений: 1
|
|
01.05.2021, 21:18 | 3 |
Здравствуйте.
Я недавно перешел с F4 на H743 Nucleo. Своими силами пытался написать код под Н7 нуклео, чтобы по виртуальному компорту на комп отсылать данные и никак не могу - в диспетчере устройств только один компорт видит, ходя должно быть два. Вы могли бы сбросить свой код, который реализует виртуальный ком порт? Заранее спасибо.
0
|
210 / 163 / 36
Регистрация: 15.11.2012
Сообщений: 788
|
|
02.05.2021, 21:57 | 4 |
У меня с этой Nucleo H743 другая история - виртуальный COM-порт (который совмещен с ST-Link) виден, но данные не передаются. А осциллограф (на ноге RX контроллера этого USART) показывает, что данные с USB-COM на самом деле идут, но это НЕ ТЕ данные. Более того, они разные при отправке одного и того же символа много раз подряд.
Причем в самый первый раз (в первое включение) у меня это все работало. Потом перестало.
0
|
02.05.2021, 21:57 | |
02.05.2021, 21:57 | |
Помогаю со студенческими работами здесь
4
Виснет USB Virtual COM Port STM32 USB Virtual COM Port. Получение строки из терминала Есть ли у кого библиотека USB Virtual Port? Обмен данными с несколькими USB CDC устройствами, подключёнными через USB HUB с внешним питанием STM32F103 CubeMX USB composite CDC + CDC (2xCDC) Быстрый обмен информации через virtual com port Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |