RT-Thread论坛
直播中

贾熹

8年用户 1687经验值
私信 关注
[问答]

cherry usb不进中断是怎么回事?

STM32h743 使用cdc_rndis_template ,usb_dc_low_level_init实现如下

  • void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
  • {
  •   GPIO_InitTypeDef GPIO_InitStruct = {0};
  •   RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
  •   if(hpcd->Instance==USB_OTG_HS)
  •   {
  •   /* USER CODE BEGIN USB_OTG_HS_MspInit 0 */

  •   /* USER CODE END USB_OTG_HS_MspInit 0 */

  •   /** Initializes the peripherals clock
  •   */
  •     PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB;
  •     PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
  •     if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
  •     {
  •       Error_Handler();
  •     }

  •   /** Enable USB Voltage detector
  •   */
  •     HAL_PWREx_EnableUSBVoltageDetector();

  •     __HAL_RCC_GPIOB_CLK_ENABLE();
  •     /**USB_OTG_HS GPIO Configuration
  •     PB14     ------> USB_OTG_HS_DM
  •     PB15     ------> USB_OTG_HS_DP
  •     */
  •     GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15;
  •     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  •     GPIO_InitStruct.Pull = GPIO_NOPULL;
  •     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  •     GPIO_InitStruct.Alternate = GPIO_AF12_OTG2_FS;
  •     HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

  •     /* Peripheral clock enable */
  •     __HAL_RCC_USB_OTG_HS_CLK_ENABLE();
  •     /* USB_OTG_HS interrupt Init */
  •     HAL_NVIC_SetPriority(OTG_HS_IRQn, 0, 0);
  •     HAL_NVIC_EnableIRQ(OTG_HS_IRQn);
  •   /* USER CODE BEGIN USB_OTG_HS_MspInit 1 */

  •   /* USER CODE END USB_OTG_HS_MspInit 1 */
  •   }

  • }

  • void usb_dc_low_level_init(void)
  • {
  •     PCD_HandleTypeDef hpcd = {0};

  •     hpcd.Instance = USB_OTG_HS;
  •     HAL_PCD_MspInit(&hpcd);
  • }


usb_config.h实现如下

  • #define USBD_IRQHandler      OTG_HS_IRQHandler
  • #define USBD_BASE            (0x40040000UL)
  • #define CONFIG_USBDEV_EP_NUM 6
  • #define CONFIG_USB_DWC2_RAM_SIZE  1280


但是不进入usb中断,没反应


更多回帖

发帖
×
20
完善资料,
赚取积分