|
STM32CubeMX и USB CDC, какие функции использовать? |
|
|
|
 |
Ответов
|
Aug 3 2014, 00:16
|
Частый гость
 
Группа: Участник
Сообщений: 139
Регистрация: 9-11-12
Из: Санкт-Петербург
Пользователь №: 74 315

|
Баг с мусором в F0 почти убрал. В функции usbd_conf.c/USBD_LL_Init заменил Код HAL_PCDEx_PMAConfig(pdev->pData , 0x00 , PCD_SNG_BUF, 0x18); HAL_PCDEx_PMAConfig(pdev->pData , 0x80 , PCD_SNG_BUF, 0x58); на Код //0x10 == 2*CDC_CMD_PACKET_SIZE? HAL_PCDEx_PMAConfig(pdev->pData , 0x00 , PCD_SNG_BUF, 0x10+0*USB_FS_MAX_PACKET_SIZE); HAL_PCDEx_PMAConfig(pdev->pData , 0x80 , PCD_SNG_BUF, 0x10+1*USB_FS_MAX_PACKET_SIZE); HAL_PCDEx_PMAConfig(pdev->pData , 0x01 , PCD_SNG_BUF, 0x10+2*USB_FS_MAX_PACKET_SIZE); HAL_PCDEx_PMAConfig(pdev->pData , 0x81 , PCD_SNG_BUF, 0x10+3*USB_FS_MAX_PACKET_SIZE); Почти - потому что в среднем через 20-30 пакетов от МК к компу приходит пакет, который со второго байта хранит содержимое буфера приёма МК. Тестовая программа передаёт кучу буковок, МК меняет их регистр на противоположный и передаёт обратно. Результат (вывод данных, пришедших с МК) получается примерно такой: Код fghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm ghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn hijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmno ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop jKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ Ошибка в пакете №35 должно быть: jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopq Но в целом прогресс заметный. Можно передавать данные кусками до 63 байт длиной (CDC_DATA_FS_MAX_PACKET_SIZE == 64). ( Предыдущий баг - должно быть 15, а не 5)
Сообщение отредактировал den_po - Aug 3 2014, 00:18
|
|
|
|
|
Oct 15 2014, 16:29
|
Группа: Новичок
Сообщений: 2
Регистрация: 15-10-14
Пользователь №: 83 154

|
Цитата ( Предыдущий баг - должно быть 15, а не 5) Ну, по моему не 15 там должно быть, а просто перепутано 5 и 8 местами. Т.е. МК поддерживает 8 endpoints, а для CDC используется 5. control in out bulk data in out command in Я тут по ходу пиесы прикручиваю плюсовые классы-адаптеры кубовых драйверов для freertos, ну и приходится разбираться с этими внутренностями.
|
|
|
|
|
Oct 17 2014, 20:26
|
Частый гость
 
Группа: Участник
Сообщений: 139
Регистрация: 9-11-12
Из: Санкт-Петербург
Пользователь №: 74 315

|
Цитата(Vsevolod Gromov @ Oct 15 2014, 20:29)  Ну, по моему не 15 там должно быть, а просто перепутано 5 и 8 местами. Т.е. МК поддерживает 8 endpoints, а для CDC используется 5. control in out bulk data in out command in
Я тут по ходу пиесы прикручиваю плюсовые классы-адаптеры кубовых драйверов для freertos, ну и приходится разбираться с этими внутренностями. Там должно быть не меньше, чем hpcd_USB_FS.Init.dev_endpoints. В коде от других серий микроконтроллеров везде 15. И тут по форматированию текста понятно, что было 15, но кто-то случайно удалил символ.
|
|
|
|
Сообщений в этой теме
ViKo STM32CubeMX и USB CDC Jul 14 2014, 18:00 Integro посмотрите в файле usbd_cdc_if.c,
CDC_Transmit_FS... Jul 15 2014, 11:38 ViKo Цитата(Integro @ Jul 15 2014, 14:38) посм... Jul 15 2014, 20:01  Integro Цитата(ViKo @ Jul 15 2014, 23:01) Пробова... Jul 16 2014, 07:50 ViKo Из мейн функции не видны. Можно инклюдами заголово... Jul 16 2014, 08:19 Integro Цитата(ViKo @ Jul 16 2014, 11:19) Из мейн... Jul 16 2014, 12:49 ViKo Кабы я умел программировать USB в STM32, стал бы я... Jul 16 2014, 16:18 Integro Цитата(ViKo @ Jul 16 2014, 19:18) Кабы я ... Jul 17 2014, 15:06 ViKo Вот функция из usbd_cdc_if.c
Код/**
* @brief CD... Jul 20 2014, 10:14 Integro Цитата(ViKo @ Jul 20 2014, 13:14) ...
Ха,... Jul 23 2014, 08:12  ViKo Цитата(Integro @ Jul 23 2014, 11:12) Ха, ... Jul 24 2014, 12:19   Tahoe Цитата(ViKo @ Jul 24 2014, 16:19) Пытался... Jul 24 2014, 14:32    ViKo Цитата(Tahoe @ Jul 24 2014, 17:32) Ну да,... Jul 24 2014, 14:51 den_po Цитата(ViKo @ Jul 20 2014, 14:14) Вот фун... Jul 30 2014, 20:37  Atlantis- Цитата(den_po @ Jul 31 2014, 00:37) Если ... Jul 31 2014, 06:17  Atlantis- Цитата(den_po @ Jul 31 2014, 00:37) Если ... Oct 20 2014, 08:12 Golikov A. а галочки дебуг и трейс информация, 0 оптимизация ... Jul 24 2014, 12:25 ViKo Цитата(Golikov A. @ Jul 24 2014, 15:25) а... Jul 24 2014, 13:05 Golikov A. совсем недавно кто-то запускал тут ЛА и прочую фиг... Jul 24 2014, 19:02 ViKo Цитата(Golikov A. @ Jul 24 2014, 22:02) с... Jul 24 2014, 19:05 ViKo Вдруг взяло и заработало. ЛА показывает. Ничего,... Jul 24 2014, 21:11 ViKo Опять не работает ЛА. Чувствую, дело в температуре... Jul 25 2014, 08:54 Golikov A. драйвер CDC - вещь суровая, у меня есть RS485 - ви... Jul 25 2014, 20:37 ViKo По поводу логического анализатора вырисовывается с... Jul 26 2014, 11:39 den_po Её не нужно самостоятельно вызывать, это колбэк, о... Jul 31 2014, 07:33 Atlantis- Цитата(den_po @ Jul 31 2014, 11:33) Её не... Jul 31 2014, 07:49  den_po Цитата(Atlantis- @ Jul 31 2014, 11:4... Jul 31 2014, 08:08   Atlantis- Цитата(den_po @ Jul 31 2014, 12:08) Давай... Jul 31 2014, 08:29    den_po Цитата(Atlantis- @ Jul 31 2014, 12:2... Jul 31 2014, 10:05     Atlantis- Цитата(den_po @ Jul 31 2014, 14:05) А мож... Jul 31 2014, 10:42      den_po Цитата(Atlantis- @ Jul 31 2014, 14:4... Jul 31 2014, 12:18       Atlantis- Цитата(den_po @ Jul 31 2014, 16:18) Вот э... Jul 31 2014, 12:33        den_po Цитата(Atlantis- @ Jul 31 2014, 16:3... Jul 31 2014, 13:53       Atlantis- Цитата(den_po @ Jul 31 2014, 16:18) Хе, с... Aug 1 2014, 05:55 ViKo У меня внутри бесконечного цикла работает такой ко... Jul 31 2014, 07:36 Atlantis- ЦитатаПроверьте свежесгенерированный кубом код, из... Aug 1 2014, 11:08 den_po CDC_Transmit_FS нужно вызывать самостоятельно, ког... Aug 1 2014, 11:29 Atlantis- Цитата(den_po @ Aug 1 2014, 15:29) CDC_Tr... Aug 1 2014, 12:02 den_po Думаю, ерунда может приходить, если отправляются д... Aug 2 2014, 13:01   Vsevolod Gromov Цитата(den_po @ Oct 18 2014, 00:26) Там д... Oct 20 2014, 10:23 den_po Последняя проблема - моя ошибка. Просто драйвер на... Aug 6 2014, 12:19 rudy_b Вопрос на ту же тему. Поднял Midware USB CDC (HAL)... Nov 14 2015, 16:43
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|