本帖最后由 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,
......
};
|