|
发表于 2014-5-28 17:31:19
|
显示全部楼层
个人认为需要注意的一个地方:
hw_config.c文件的void USB_Cable_Config (FunctionalState NewState)函数,它的内容是(I/O引脚已根据我的电路改为PA8)
void USB_Cable_Config (FunctionalState NewState)
{
if(NewState!=DISABLE)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
}
else
{
GPIO_SetBits(GPIOA,GPIO_Pin_8);
}
}
应该是想通过PA8来控制USB接口能否被电脑识别。我的板子上是将PA8与USB_D+连接,通过PA8将USB_D+拉低或拉高。
但是USB_Cable_Config (FunctionalState NewState)函数明显是在 想被电脑识别的时候PA8输出低电平,反之输出高电平。
这完全与我的板子上的电路相反,因为要想USB被识别,PA8应该输出高电平将USB_D+拉高才行。
于是我将程序修改为
void USB_Cable_Config (FunctionalState NewState)
{
if(NewState==DISABLE)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
}
else
{
GPIO_SetBits(GPIOA,GPIO_Pin_8);
}
}
工作完全正常,能够被电脑识别,提醒安装驱动。
难道原作者使用的板子是PA8通过一个反相器再与USB_D+相连,还是其它什么连接方式。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|