1.参考博客:
https://blog.csdn.net/ZCShouCSDN/article/details/78936456
https://blog.csdn.net/lutao614/article/details/88284922
2.根据使用的OTG模块来选择PHY
比如F4里有两个OTG,一个是高速(HS,左边),一个是全速(FS,右边),当使用高速(HS)的时候,如果没有外接高速芯片而使用内部PHY时,实际上需要在HS中配置为FS。若使用OTG_FS则直接配置为FS即可。
(1)在HS中使用FS,首先在Keil“魔术棒”的“C/C++”中“define”一栏添加宏定义
(2)直接使用OTG_FS的话只添加“USE_USB_OTG_FS”即可。
3.更改USB_bsp.c文件
(1)初始化函数
void USB_OTG_BSP_Init(USB_OTG_CORE_HANDLE *pdev)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB , ENABLE);
/* Configure SOF ID DM DP Pins */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure