文章目录
前言
分析 V305 USBD 初始化程序。
实现
初始化
/* main.c */
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
SystemCoreClockUpdate();
// USB 初始化
USBHS_RCC_Init();
USBHS_Device_Init(ENABLE);
while(1);
}
初始化时钟
USBHS_RCC_Init();
初始化 USBD 设备
USBHS_Device_Init(ENABLE);
时钟初始化分析
void USBHS_RCC_Init( void )
{
// 时钟源选择:USB PHY
RCC_USBCLK48MConfig( RCC_USBCLK48MCLKSource_USBPHY );
// USBHS PLL 参考源选择:HSE
RCC_USBHSPLLCLKConfig( RCC_HSBHSPLLCLKSource_HSE );
// USBHS PLL 参考源分频:2分频
RCC_USBHSConfig( RCC_USBPLL_Div2 );
// USBHS PLL 参考时钟频率选择:4