本帖最后由 ReuterkLL 于 2021-1-25 10:22 编辑
STM32F105 通过CubeMx创建USB HID始终无法识别
这两天拿一个现成的板子想测试一下USB功能,但是通过最新版的CubeMx创建的项目文件,下载之后始终无法被windows识别(unkown device)。
F105的USB和CAN等接口可以共存,所以在验证过程中把两种组合都测试了一遍,涛声依旧,无法识别。
即使将debug级别调整为3,想输出上电期间的任何消息,没有任何错误消息从调试usart端口输出。说明运行似乎还特正常。
除了USB功能之外,在主循环内的代码无误(这里将CAN已经去掉)。USART工作无误。
cubemx内将USB直接设置为device,然后PA10(作为OTG的ID)自动忽略。
系统始终通过MX自动设置,看起来也是没有问题。
甚至使用仿真器进入到USB上电枚举过程,也可以在运行。但是,这些似乎都无效。总之一句话:不认。
这里USB_EN为L时,则板子作为device连接到主机(PC),为高时,则USB的DP为悬空,主机认为没有设备连接。
问题:还有什么需要考虑的吗?需要修改MX自动生成的HID(不是自定义的)的代码?
板子某宝上的
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_SPI1_Init();
MX_USART2_UART_Init();
MX_USB_DEVICE_Init();
HAL_GPIO_WritePin(GPIOC, USB_EN_Pin, GPIO_PIN_RESET);
while (1)
{
HAL_Delay(1000);
HAL_GPIO_TogglePin(GPIOC,LED_1_Pin);
}
|