USB组合设备端点缓存设置问题
HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG_HS, 0x100);HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 0, 0x40);
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 1, 0x100);//81
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 2, 0x40);//82
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 3, 0x10);//83
HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 4, 0x40);//84
//81 MSC IN 81
//01 MSC OUT 01
//82 CDC IN82
//02 CDC OUT 02
//83 CDC CMD 83
//84 HID 84
设备是MSC+CDC+HID,高速设备,目前因为布线的问题,只能跑FS,所以初始化USB外设的时候还是用的FS。
问题,CDC和HID可以连续回环测试,然后同时读取MSC也没问题。只要MSC一写,HID回环测试就失败,但CDC还正常,并且MSC也卡住,然后整个USB就出错了。
这几个端点要怎么设置?
MSC 512包大小,cdc 64,hid 64 单独读写MSC没问题。用的fx_media_write实现的。又度了下,MSC读写的时候,CDC也不正常。 MSC读写的时候,不对CDC和HID操作,等MSC读写完成后,CDC收发正常,但HID就不行了。
页:
[1]