Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM32 USB код ошибки 43

Чт сен 27, 2018 18:47:46

Всем привет! Добрался до stm32 и usb. Купил отладочную плату NUCLEO-F767ZI. Пытаюсь передать байтик на stm через виртуальный com порт.

Посмотрел четыре ролика: https://www.youtube.com/watch?v=oDoavXrQdEg
https://www.youtube.com/watch?v=TYSCKWkCcPU&t=793s
https://www.youtube.com/watch?v=XKCjOlskW78
https://www.youtube.com/watch?v=4iSRUcb ... k&index=35

Скачал драйвер STSW-STM32102, поставил его после разархивирования.

В Cube настроил USB_OTG_FS >> Device only. И еще вверху USB_DEVICE >> Virtual com port. В настройщике частоты задал 48 МГц.

Втыкаю провод - выдает ошибку 43 (Система Windows остановила это устройство, так как оно сообщило о возникновении неполадок. (Код 43). Сбой запроса дескриптора USB-устройства).

Поменял в настройках проекта размер кучи и стека на 2000 и 4000.

В файле usbd_cdc_if.c заменил APP_RX_DATA_SIZE и APP_TX_DATA_SIZE на 64.

В файле usbd_cdc.h заменил CDC_DATA_HS_MAX_PACKET_SIZE и CDC_DATA_FS_MAX_PACKET_SIZE на 64U.

Перед отправкой проверяю соединение функцией if(hUsbDeviceFS.dev_state == 0x03) ... ;

Перезагружал комп раз десять. Купил новые хорошие провода. Втыкал их в разные usb-гнезда. Запитывал плату от батарейки, выдирая программатор.

Не помогает. Слышал, что надо напаять снаружи подтягивающий резистор 1.5к. Но вроде отладочная плата новая, неужели там что-то отвалилось?

Как думаете, что может быть не так?

Re: STM32 USB код ошибки 43

Чт сен 27, 2018 21:23:57

Куб создается только заготовку. Код приема и передачи по USB нужно самому написать.

Re: STM32 USB код ошибки 43

Чт сен 27, 2018 21:31:48

Я написал что-то типа этого, примеров-то полно. Проблема в том, что винда не видит микроконтроллер, писать некуда ((
#include "usbd_cdc_if.h"
uint8_t trbuffer[]="Hello!\r\n";
HAL_Delay(2000);
while (1)
{
if(hUsbDeviceFS.dev_state == 0x03)
{
CDC_Transmit_FS(trbuffer,6);
HAL_Delay(1000);
}
}
Ответить