|
配置如图
- void MX_USB_PCD_Init(void)
- {
- hpcd_USB_FS.Instance = USB;
- hpcd_USB_FS.Init.dev_endpoints = 8;
- hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
- hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
- hpcd_USB_FS.Init.low_power_enable = DISABLE;
- hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
- if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK) {
- }
-
- HAL_NVIC_SetPriority(USB_HP_CAN_TX_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(USB_HP_CAN_TX_IRQn);
- HAL_NVIC_SetPriority(USB_LP_CAN_RX0_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(USB_LP_CAN_RX0_IRQn);
- }
- void USB_HP_CAN_TX_IRQHandler(void)
- {
- /* USER CODE BEGIN USB_HP_CAN_TX_IRQn 0 */
- /* USER CODE END USB_HP_CAN_TX_IRQn 0 */
- HAL_PCD_IRQHandler(&hpcd_USB_FS);
- /* USER CODE BEGIN USB_HP_CAN_TX_IRQn 1 */
- /* USER CODE END USB_HP_CAN_TX_IRQn 1 */
- }
- /**
- * @brief This function handles USB low priority or CAN_RX0 interrupts.
- */
- void USB_LP_CAN_RX0_IRQHandler(void)
- {
- /* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 0 */
- /* USER CODE END USB_LP_CAN_RX0_IRQn 0 */
- HAL_PCD_IRQHandler(&hpcd_USB_FS);
- /* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 1 */
- /* USER CODE END USB_LP_CAN_RX0_IRQn 1 */
- }
- void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)
- {
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(pcdHandle->Instance==USB)
- {
- /* USER CODE BEGIN USB_MspInit 0 */
- /* USER CODE END USB_MspInit 0 */
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**USB GPIO Configuration
- PA11 ------> USB_DM
- PA12 ------> USB_DP
- */
- GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF14_USB;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- /* USB clock enable */
- __HAL_RCC_USB_CLK_ENABLE();
- /* USER CODE BEGIN USB_MspInit 1 */
- /* USER CODE END USB_MspInit 1 */
- }
- }
- void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle)
- {
- if(pcdHandle->Instance==USB)
- {
- /* USER CODE BEGIN USB_MspDeInit 0 */
- /* USER CODE END USB_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_USB_CLK_DISABLE();
-
- /**USB GPIO Configuration
- PA11 ------> USB_DM
- PA12 ------> USB_DP
- */
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
- /* USER CODE BEGIN USB_MspDeInit 1 */
- /* USER CODE END USB_MspDeInit 1 */
- }
- }
复制代码 PCD配置如上
|
|