孟同学 发表于 2019-5-25 17:00:50

stm32f4 USB主机进行CDC通讯异常

stm32f4作USB主机,进行CDC通讯,当接收RX_Enabled使能后,一旦调用读取函数后就会不停进入USB中断,大约5us。
USBH_BulkReceiveData(pdev,
                           CDC_RxParam.pFillBuff,
                           CDC_Machine.CDC_DataItf.length,
                           CDC_Machine.CDC_DataItf.hc_num_in);

有没有大神做过USB主机 CDC通信的实例,求帮忙分析下。

如果将IN端口的管道CDC_Machine.CDC_DataItf.hc_num_in 改为其他值(非软件自动分配的),程序正常运行,也可以正常通过USB发送数据。但是接收仍不正常,但不会频繁进入USB中断(5us左右)。

孟同学 发表于 2019-5-25 23:14:53

与从机有关,主机配置应该没问题
从机初始化的时候设置IN端点为EP_TX_VALID状态,一旦主机发起IN传输事务就进入IN回调函数如下:
void EP1_IN_Callback (void)
{
      USB_SIL_Read(EP1_IN, USB_Rx_Buffer,64);
      SetEPTxValid(ENDP1);
}

感觉是主机发送IN事务,从机一直返回数据,主机一直进入IN事务数据接收中断。

孟同学 发表于 2019-5-27 14:36:24

已解决,从机发送问题,从机发送的状态机没写好造成知己持续接收中断。

yxylxj 发表于 2020-8-9 17:47:15

孟同学 发表于 2019-5-27 14:36
已解决,从机发送问题,从机发送的状态机没写好造成知己持续接收中断。

有个相关的项目开发,你有意向吗?qq 732423541
页: [1]
查看完整版本: stm32f4 USB主机进行CDC通讯异常