编写的例程是使用FSP提供的usbhcdc中间件,实现了一个可使用usb串口设备的usb主机。 首先在RT-ThreadStudio上新建一个基于开发板的项目,选择CPK-RA6M4开发板,建立一个模板工程。编译下载后,可以看到LED灯在闪烁,同时可以在串口终端上使用rtt的FinSH控制台。 下一步,打开RASC,在stacks页面,添加一个usb hcdc的驱动栈。
if (pdev->dev_speed == USBD_SPEED_HIGH) { /* Prepare Out endpoint to receive next packet */ USBD_LL_PrepareReceive(pdev, CDC1_OUT_EP, hcdc->RxBuffer, CDC_DATA_HS_OUT_PACKET_SIZE); /* Prepare Out endpoint to receive next packet */ USBD_LL_PrepareReceive(pdev, CDC2_OUT_EP, ...
if (pdev->dev_speed == USBD_SPEED_HIGH) { /* Prepare Out endpoint to receive next packet */ USBD_LL_PrepareReceive(pdev, CDC_OUT_EP, hcdc->RxBuffer, CDC_DATA_HS_OUT_PACKET_SIZE); } else { /* Prepare Out endpoint to receive next packet */ USBD_LL_PrepareReceive(pdev, CDC_...
hcdc = (USBD_CDC_HandleTypeDef *) pdev->pClassData;/* Init physical Interface components */ ...
("USBD_CDC_DataOut.1294:Len:%d :EP:%02X\n",hcdc->RxLength,epnum); if (pdev->pClassData != NULL) { ((USBD_CDC_ItfTypeDef *)pdev->pUserData)->Receive(hcdc->RxBuffer, &hcdc->RxLength,epnum);//此处修改,加入端点,相关的函数声明也跟这这样改 return USBD_OK; } else { return ...
hcdc = (USBD_CDC_HandleTypeDef *)pdev->pClassData; if ((pdev->ep_in[epnum].total_length > 0U) && ((pdev->ep_in[epnum].total_length % hpcd->IN_ep[epnum].maxpacket) == 0U)) { /* Update the packet total length */ ...
问题1:在唤醒后,Pipe报了这个错误:W (53056) USB_HCDC: line 1030 Pipe: bulk_out HCD_PIPE_EVENT_ERROR_XFER。之后再进行联网,一直连接不上。 问题2:在进入休眠时,需要对USB进行什么操作吗? 代码: Code:Select all #ifdefCONFIG_DUMP_SYSTEM_STATUS/* Configure the button GPIO as input, enable wakeup ...
首先说一下STM32的USB库的初始化操作,MX_USB_DEVICE_Init函数中使用USBD_RegisterClass函数注册绑定了...
I (3934) USB_HCDC: Waitting Device Connection I (3964) USB_HCDC: USB Port=1 init succeed I (3964) USB_HCDC: Waitting USB Connection I (3964) USB_HCDC: Port power: ON I (321265) USB_HCDC: line 263 HCD_PORT_EVENT_CONNECTION
问题1:关于USB_HCDC错误和连接不上网络的问题 1. 首先,确保您的ESP32-S2和EC600N_CNLA_N05模块...