本帖最后由 vsfopen 于 2018-10-17 16:22 编辑
工程位于:
https://gitee.com/versaloon/vsf_open/tree/master/vsf/example/vsfaio/proj/EWARM_MM32
配置修改:
vsf_cfg.h里,usbd相关的设置:
- // usbd
- //#define VSFUSBD_CFG_MPS 192
- //#define VSFUSBD_CFG_HIGHSPEED
- #define VSFUSBD_CFG_FULLSPEED
- //#define VSFUSBD_CFG_LOWSPEED
- #define VSFUSBD_CFG_EPMAXNO 4
由于MM32的USB断点是半双工,所以修改描述符,使用不用的USB端口:
- USB_DT_ENDPOINT_SIZE,
- USB_DT_ENDPOINT,
- 0x83, // bEndpointAddress: (IN3)
- 0x02, // bmAttributes: Bulk
- #if defined(VSFUSBD_CFG_HIGHSPEED)
- 0x00, 0x02, // wMaxPacketSize:
- #elif defined(VSFUSBD_CFG_FULLSPEED)
- 0x40, 0x00, // wMaxPacketSize:
- #endif
- 0x00, // bInterval:
这里,把IN数据端口改成3号。
并且修改后面的CDC参数:
- struct usrapp_t usrapp =
- {
- .usbd.cdc.param.CDC.ep_notify = 1,
- .usbd.cdc.param.CDC.ep_out = 2,
- .usbd.cdc.param.CDC.ep_in = 3,
- ......
- };
|