大家好,我在使用Keil-v5版本开发STM32F103RCT6型号的MCU的USB时遇见一个问题,在此请教下。
使用RTE开发的话,在RTE_Device.h中有一个USB Device Full Speed的配置项
其中的CON On/Off Pin设置看描述是用来驱动USB的D+ pull up
我勾选后设置active state = high,Port = GPIOA, Bit = 8(和硬件一致)
问题来了,为什么以上设置不起作用?板子上电后PC没有反应,USB口没有驱动起来
而在程序中直接使用以下代码就可以?
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_SetBits(GPIOA, GPIO_Pin_8);
------解决思路----------------------
stm32F103必须通过控制IO口电平间接控制外部的三极管或mos管来进行usb数据线的上下拉
stm32F2或stm32F4不存在该问题,所以不占用多余两个IO口
------解决思路----------------------
你最好先检查一下usb线,是否是好的
------解决思路----------------------
没有看过你的RTE,如果只是定义,但没有调用IO响应功能,也没有作用。