Dima1060 0 13 октября, 2014 Опубликовано 13 октября, 2014 · Жалоба У меня та же проблема, как и у автора темы. Никогда не имел дело с выделением памяти, подскажите это фишка RTOS или нет? и вообще что делает функция USBD_malloc(sizeof (USBD_CDC_HandleTypeDef)); куда она выделяет память, как и для чего? каковы последствия увеличения или уменьшения Heap_Size. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sadat 0 15 октября, 2014 Опубликовано 15 октября, 2014 · Жалоба Функция выдает указатель на первый адрес созданной "последовательной кучке байт памяти" для буфера приема-передачи вроде. Проблема бывает из-за нехватки этой "кучки", либо неправильного описания типа (байт или слово). Советую использовать примеры из комплекта "CUBE EXAMPLE" и подпиливать их для себя (либо выдрать участки кода), чем генерировать голый проект Куба. Либо сравнивать отличия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 16 октября, 2014 Опубликовано 16 октября, 2014 · Жалоба Советую использовать примеры из комплекта "CUBE EXAMPLE" и подпиливать их для себя (либо выдрать участки кода), чем генерировать голый проект Куба. Либо сравнивать отличия. Вы имеете ввиду вот это? http://www.st.com/web/en/catalog/tools/PF259243# я там примера USB CDC не нашел. скачал сейчас библиотеку, нашел отличие в файлах usbd_cdc.c , хотя у меня уже была та же версия библиотеки 1.3.0 и даже версия файла та же. неужели Cube что то нужное режет в файлах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sadat 0 16 октября, 2014 Опубликовано 16 октября, 2014 · Жалоба Да, это самое. Ну как-так не нашли... Вот путь: STM_CUBE\STM32Cube_FW_F4_V1.3.0\Projects\STM324xG_EVAL\Applications\USB_Device\CDC_Standalone CUBE не режет, он просто генерирует комментарий "здесь программист должен написать свой код обработки" ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 16 октября, 2014 Опубликовано 16 октября, 2014 · Жалоба Да, это самое. Ну как-так не нашли... Вот путь: STM_CUBE\STM32Cube_FW_F4_V1.3.0\Projects\STM324xG_EVAL\Applications\USB_Device\CDC_Standalone CUBE не режет, он просто генерирует комментарий "здесь программист должен написать свой код обработки" ;-) я смотрел в папках для плат Discovery. спасибо большое! но работа с запросами все равно осталась непонятной... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виталий56 0 4 декабря, 2014 Опубликовано 4 декабря, 2014 · Жалоба У меня было такое. На Х64 не заработало. ПОСТАВИЛ х32, убил виндовый драйвер и поставил от ST. После этого всё заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diwil 0 22 декабря, 2014 Опубликовано 22 декабря, 2014 · Жалоба Победил изменением размера кучи до 400. (win7 x64) Вопрос - uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len) я так понимаю, что чтобы передать данные нужно в UserTxBufferFS запихнуть данные из Buf? А правильно ли я понимаю, что чтобы прочитать с помощью CDC_Receive_FS (uint8_t* Buf, uint32_t *Len), то нужно перекачать данные из UserRxBufferFS в buf? Мож кто примером поделится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 11 мая, 2015 Опубликовано 11 мая, 2015 · Жалоба Возвращаюсь к теме (нашел поиском по USB Cube, уже и забыл, что своё). Сгенерил Кубом для STM32F3Discovery CDC. И, как видел в разных видео, пытаюсь использовать CDC_Transmit_FS, CDC_Receive_FS. Эти функции находятся в usbd_cdc_if.c. И они не видны из main.c. И буфера уже есть там же: /* It's up to user to redefine and/or remove those define */ /* Received Data over USB are stored in this buffer */ uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; /* Send Data over USB CDC are stored in this buffer */ uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; и тоже не видны из main.c Как же ими пользоваться? Если внутри usbd_cdc_if.c, то как будто через задний проход пролез. P.S. Еще один дурной вопрос. Установил Куб, запустил, из него установил библиотеки. Где примеры?? Или надо, все же скачать STM32CubeF3 и установить? Что же так мутно всё? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба P.S. Еще один дурной вопрос. Установил Куб, запустил, из него установил библиотеки. Где примеры?? Или надо, все же скачать STM32CubeF3 и установить? Что же так мутно всё? у меня тут C:\Users\имя пользователя\STM32Cube\Repository\STM32Cube_FW_F4_V1.5.0\Projects Если внутри usbd_cdc_if.c, то как будто через задний проход пролез. по моему так и есть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба у меня тут C:\Users\имя пользователя\STM32Cube\Repository\STM32Cube_FW_F4_V1.5.0\Projects О, спасибо! Нашел и у себя. У меня сам Куб стоит на H:\Design. Никогда бы не догадался. Разбираю пример CDC от Куба. Пока складывается впечатление, что писало несколько (много) разных людей. Не один раз порты, прерывания инициализируют... Главное, нет конкретного указания в документации, какие функции использовать. :w00t: Одно доброе дело сделал. Проверяю, что USB инициализировалась перед использованием. В Main. Теперь USB устройство определяется стабильно. while (hUsbDeviceFS.dev_state != USBD_STATE_CONFIGURED) { } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 мая, 2015 Опубликовано 20 мая, 2015 · Жалоба Мелкое замечание, не стоящее отдельной темы. Разве что, если бы была тема "STM32 в Кубе". При установке в STM32CubeMX частоты MAIN_PLL для STM32F207, коэффициент умножения N невозможно выбрать меньше 192. Для этого частоту HSE придется делить до 1 MHz. А в руководстве на STM32F2xx сказано, что при 2 MHz джиттер меньше (при этом коэффициент N нужно бы взять, например, 120). А диапазон PLLN 192 - 432 показан просто конкретно для случая 1 MHz на входе PLL. А Кубописатели схалтурили, ограничились только этим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 20 декабря, 2016 Опубликовано 20 декабря, 2016 · Жалоба Может кто-то сталкивался... Win10 64x, CubeMX, STM32F407 discovery Проект генерится из куба, винда драйвера ставит и определят COM порт вроде как без ошибок. Но вот когда пытаюсь подключится терминальной программой, то получаю Error in OpenPort: Internal Error when initializing COM3 И то, были моменты когда открытие СОМ порта происходило как положено В какую сторону копать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 20 декабря, 2016 Опубликовано 20 декабря, 2016 · Жалоба В какую сторону копать?В сторону другой терминальной программы? Это же у нее происходит Internal error. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 20 декабря, 2016 Опубликовано 20 декабря, 2016 · Жалоба В сторону другой терминальной программы? Это же у нее происходит Internal error. Пробовал, и другую пробовал, и Putty пробовал... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bureau 0 20 декабря, 2016 Опубликовано 20 декабря, 2016 · Жалоба Если использовать версию STM32Cube_FW_F4_V1.13.0 то IAR -- работает GCC -- работает но с вышеизложенными симптомами Проект под GCC подготавливал согласно данному видео https://www.youtube.com/watch?v=Q68PBMGceqs Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться