硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2238|回复: 7
收起左侧

RL-USB CDC显示获取设备描述符失败 版主大人帮忙看看呗

[复制链接]

6

主题

57

回帖

75

积分

初级会员

积分
75
发表于 2019-3-28 16:26:01 | 显示全部楼层 |阅读模式
2.png 1.png

配置如图


  1. void MX_USB_PCD_Init(void)
  2. {
  3.     hpcd_USB_FS.Instance                      = USB;
  4.     hpcd_USB_FS.Init.dev_endpoints            = 8;
  5.     hpcd_USB_FS.Init.speed                    = PCD_SPEED_FULL;
  6.     hpcd_USB_FS.Init.phy_itface               = PCD_PHY_EMBEDDED;
  7.     hpcd_USB_FS.Init.low_power_enable         = DISABLE;
  8.     hpcd_USB_FS.Init.battery_charging_enable  = DISABLE;
  9.     if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK) {

  10.     }
  11.    
  12.     HAL_NVIC_SetPriority(USB_HP_CAN_TX_IRQn, 0, 0);
  13.     HAL_NVIC_EnableIRQ(USB_HP_CAN_TX_IRQn);
  14.     HAL_NVIC_SetPriority(USB_LP_CAN_RX0_IRQn, 0, 0);
  15.     HAL_NVIC_EnableIRQ(USB_LP_CAN_RX0_IRQn);
  16. }

  17. void USB_HP_CAN_TX_IRQHandler(void)
  18. {
  19.   /* USER CODE BEGIN USB_HP_CAN_TX_IRQn 0 */

  20.   /* USER CODE END USB_HP_CAN_TX_IRQn 0 */
  21.   HAL_PCD_IRQHandler(&hpcd_USB_FS);
  22.   /* USER CODE BEGIN USB_HP_CAN_TX_IRQn 1 */

  23.   /* USER CODE END USB_HP_CAN_TX_IRQn 1 */
  24. }

  25. /**
  26. * @brief This function handles USB low priority or CAN_RX0 interrupts.
  27. */
  28. void USB_LP_CAN_RX0_IRQHandler(void)
  29. {
  30.   /* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 0 */

  31.   /* USER CODE END USB_LP_CAN_RX0_IRQn 0 */
  32.   HAL_PCD_IRQHandler(&hpcd_USB_FS);
  33.   /* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 1 */

  34.   /* USER CODE END USB_LP_CAN_RX0_IRQn 1 */
  35. }

  36. void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)
  37. {

  38.   GPIO_InitTypeDef GPIO_InitStruct = {0};
  39.   if(pcdHandle->Instance==USB)
  40.   {
  41.   /* USER CODE BEGIN USB_MspInit 0 */

  42.   /* USER CODE END USB_MspInit 0 */
  43.   
  44.     __HAL_RCC_GPIOA_CLK_ENABLE();
  45.     /**USB GPIO Configuration   
  46.     PA11     ------> USB_DM
  47.     PA12     ------> USB_DP
  48.     */
  49.     GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
  50.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  51.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  52.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  53.     GPIO_InitStruct.Alternate = GPIO_AF14_USB;
  54.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

  55.     /* USB clock enable */
  56.     __HAL_RCC_USB_CLK_ENABLE();
  57.   /* USER CODE BEGIN USB_MspInit 1 */

  58.   /* USER CODE END USB_MspInit 1 */
  59.   }
  60. }

  61. void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle)
  62. {

  63.   if(pcdHandle->Instance==USB)
  64.   {
  65.   /* USER CODE BEGIN USB_MspDeInit 0 */

  66.   /* USER CODE END USB_MspDeInit 0 */
  67.     /* Peripheral clock disable */
  68.     __HAL_RCC_USB_CLK_DISABLE();
  69.   
  70.     /**USB GPIO Configuration   
  71.     PA11     ------> USB_DM
  72.     PA12     ------> USB_DP
  73.     */
  74.     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);

  75.   /* USER CODE BEGIN USB_MspDeInit 1 */

  76.   /* USER CODE END USB_MspDeInit 1 */
  77.   }
  78. }
复制代码
PCD配置如上
回复

使用道具 举报

6

主题

57

回帖

75

积分

初级会员

积分
75
 楼主| 发表于 2019-3-28 16:29:22 | 显示全部楼层
  1. void main_thread(uint32_t arg) {
  2.     msp_inst_t *msp_inst = msp_init(msp_pre_inst);
  3.    
  4.     MX_USB_PCD_Init();
  5.     if (usbOK != USBD_Initialize(0)) {   // USB Device 0 Initialization calls USBD_Devicen_Initialize() automatically
  6.         while (1);
  7.     }
  8.         
  9.     if (usbOK != USBD_Connect(0)) {      // USB Device 0 Connect
  10.         while (1);
  11.     }
  12.    
  13. //    while(1) {
  14. //        int val;
  15. //        val = USBD_CDC_ACM_GetChar(0);
  16. //        if (val > 0) {
  17. //            char ch = val;
  18. //            USBD_CDC_ACM_PutChar(0, ch);
  19. //        }
  20. //    }
  21. }

  22. 开启任务如上
复制代码
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2019-3-29 00:41:39 | 显示全部楼层
【专题教程第8期】基于emWin模拟器的USB BULK上位机开发,仅需C即可,简单易实现
http://www.armbbs.cn/forum.php?m ... 0026&fromuid=58
(出处: 安富莱电子论坛)
回复

使用道具 举报

6

主题

57

回帖

75

积分

初级会员

积分
75
 楼主| 发表于 2019-3-30 09:01:44 | 显示全部楼层
eric2013 发表于 2019-3-29 00:41
【专题教程第8期】基于emWin模拟器的USB BULK上位机开发,仅需C即可,简单易实现
http://www.armbbs.cn ...

已经放弃了,上了ST的USB固件库,RL-USB现在更新了,跟以前有较大的区别,直接下KEIL给的工程也识别不了。
回复

使用道具 举报

36

主题

1445

回帖

1553

积分

至尊会员

积分
1553
发表于 2019-3-30 21:41:37 | 显示全部楼层
sl3340 发表于 2019-3-30 09:01
已经放弃了,上了ST的USB固件库,RL-USB现在更新了,跟以前有较大的区别,直接下KEIL给的工程也识别不了 ...

电脑驱动问题,我之前搞也是识别不了,安装驱动也不行。
回复

使用道具 举报

6

主题

33

回帖

51

积分

初级会员

积分
51
发表于 2019-4-13 09:16:01 | 显示全部楼层
sl3340 发表于 2019-3-30 09:01
已经放弃了,上了ST的USB固件库,RL-USB现在更新了,跟以前有较大的区别,直接下KEIL给的工程也识别不了 ...

楼主,你搞出来了吗?我移植的ST的HAL库,USB移植在USBH_CDC_Transmit里面循环,接收不到数据
回复

使用道具 举报

6

主题

33

回帖

51

积分

初级会员

积分
51
发表于 2019-4-13 09:16:49 | 显示全部楼层
sl3340 发表于 2019-3-30 09:01
已经放弃了,上了ST的USB固件库,RL-USB现在更新了,跟以前有较大的区别,直接下KEIL给的工程也识别不了 ...

求大神指导,能扔个例程就更好了,在此先谢谢了
回复

使用道具 举报

6

主题

57

回帖

75

积分

初级会员

积分
75
 楼主| 发表于 2019-4-22 13:15:15 | 显示全部楼层
大鹏 发表于 2019-4-13 09:16
求大神指导,能扔个例程就更好了,在此先谢谢了

看一下EP端点号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 03:22 , Processed in 0.240241 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表