|
|
|
|
@ -53,15 +53,16 @@ void USBHS_RCC_Init(void) |
|
|
|
|
{ |
|
|
|
|
RCC_USBCLK48MConfig(RCC_USBCLK48MCLKSource_USBPHY); |
|
|
|
|
|
|
|
|
|
RCC_USBHSPLLCLKConfig(RCC_HSBHSPLLCLKSource_HSE); // USBHS PLL 时钟源:HSE
|
|
|
|
|
RCC_USBHSConfig(RCC_USBPLL_Div2); // USBHS PLL 时钟源进入 PLL 前 2 分频
|
|
|
|
|
RCC_USBHSPLLCKREFCLKConfig(RCC_USBHSPLLCKREFCLK_4M); // USBHS PLL 时钟源分频后频率为 4MHz(外接晶振为 8MHz)
|
|
|
|
|
RCC_USBHSPLLCLKConfig(RCC_HSBHSPLLCLKSource_HSE); // USBHS PLL 时钟源:HSE
|
|
|
|
|
RCC_USBHSConfig(RCC_USBPLL_Div2); // USBHS PLL 时钟源进入 PLL 前 2 分频
|
|
|
|
|
RCC_USBHSPLLCKREFCLKConfig(RCC_USBHSPLLCKREFCLK_4M); // USBHS PLL 时钟源分频后频率为 4MHz(外接晶振为 8MHz)
|
|
|
|
|
RCC_USBHSPHYPLLALIVEcmd(ENABLE); |
|
|
|
|
|
|
|
|
|
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_USBHS, ENABLE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern volatile VCOM Vcom; |
|
|
|
|
/*********************************************************************
|
|
|
|
|
* @fn USBHS_Device_Endp_Init |
|
|
|
|
* |
|
|
|
|
@ -75,7 +76,7 @@ void USBHS_Device_Endp_Init(void) |
|
|
|
|
USBHS_UEP2_T_EN | |
|
|
|
|
USBHS_UEP3_T_EN | USBHS_UEP3_R_EN; |
|
|
|
|
|
|
|
|
|
USBHSD->UEP0_MAX_LEN = USB_MAX_EP0_SZ; // 端点 n 接收数据的最大包长度
|
|
|
|
|
USBHSD->UEP0_MAX_LEN = USB_MAX_EP0_SZ; // 端点 n 接收数据的最大包长度
|
|
|
|
|
USBHSD->UEP1_MAX_LEN = HID_INT_OUT_SZ_HS; |
|
|
|
|
USBHSD->UEP3_MAX_LEN = CDC_BULK_OUT_SZ_HS; |
|
|
|
|
|
|
|
|
|
@ -101,6 +102,8 @@ void USBHS_Device_Endp_Init(void) |
|
|
|
|
USBHSD->UEP3_TX_LEN = 0; |
|
|
|
|
USBHSD->UEP3_TX_CTRL = USBHS_UEP_T_RES_NAK; |
|
|
|
|
USBHSD->UEP3_RX_CTRL = USBHS_UEP_R_RES_ACK; |
|
|
|
|
|
|
|
|
|
Vcom.in_ready = 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|