1. 在XP下枚举OK, 在Win2K下 VCom带有问号。
Win2K应该不支持IAD,IAD是2003年年底才出的一个标准协议。Linux内核也要到2.6.21.3后才得到支持。
2. CDC下面定义了3个ENDP,但其中有一个作为Comm的ENDP没有实际使用,那么这个ENDP可不可以不占用收发缓存呢?这样可以节省一些USB缓存.
自己测试一下就知道了,保险其间,我是设置为8字节的端点size。
3. 当将CDC协议的双Interface 改为1个Interface, CDC协议描述部分,需要做哪些修改?
首先,一个interface的CDC不一定可以在Linux下识别,需要自己测试。
只要将数据接口中的2个批量EP描述符放到通信类接口上去即可,并且去掉通信类接口上原来的中断EP去掉。
4. 当将CDC协议单Interface bInterfaceNumber=1的时候, CDC协议描述部分,需要做哪些修改?
没什么修改的
5. ST的例子中USB缓冲分配没有从0开始,Why ? 见下面的2行。
#define ENDP0_RXADDR (0x18)
#define ENDP0_TXADDR (0x58)
自己看资料,要放一张表 |