MDK的RL-USB使用起来非常方便,使用RTE的USBD_Config_MSC.h配置不同Device中对应的参数,这个头文件打开如下:
创建多个USB_DEVICE时上图中黑色框内的数字会依次递加,工程中需要添加文件USBD_User_MSC.c,具体代码在官网可以找到,如下图。文件USBD_User_MSC.c要做相应的修改。具体操作是:将USBD_User_MSC.c文件中的所有USBD_MSCn直接替换即可,n取上图黑框中的数字。上如中的例子就是将USBD_MSCn替换成USBD_MSC0。
蓝色框内的接入点要保证不同的USBD_Config_MSC.h配置文件不同,比如USBD_Config_MSC_0.h内的蓝色框内为1,1。则USBD_Config_MSC_1.h内的蓝色框内为2,2。
在 USB 设备中,端点是主机和设备之间进行通讯的基本单元。一个 USB 设备无论多复杂,有多少的接口,最终与主机进行通讯的都是端点。配置设备和设置接口请求最终目标都是为了确定当前设备所用到的端点配置情况,
在USB总线上,通过设备地址和端点地址就能唯一确定一条数据的来源。设备地址在设备连接时由主机分配,设备内的端点地址由设备自身在设计时决定。这有点像是IP网络中的IP地址和端口号,IP地址由服务商分配,而端口号由服务内容决定。通过IP地址和端口号,就能获取到需要的服务。
红色框内的数字代表电脑端可以看到的描述符信息,比如上图中的示例在电脑端的设备管理器->磁盘驱动器看到的如下图所示: