我按照CH372外置固件的参考程序编写好程序之后,用串口在上串字符串的程序那返回一个数据,发现没有上串字符串,也就是PC没有向单片机要字符串描述符,有谁知道这是为什么呢?描述符的内容我没有改过。
我们的外部固件例程默认不支持字符串描述符 把设备描述的第14、15、16字节设定为相应的字符串索引值就可以了,建议先熟悉一下Universal Serial Bus Specification这个规范对设备描述的解释
程序本身是已经支持了.另外根据自己的需求去更改字符串描述符 第一个字节是长度,第二个字节是03,其余为字符串内容,全部为UNICODE编码.
好的 谢谢您 现在我正在看USB2.0的规范对设备描述符的解释,但是有个最大的问题是,您说的这个字符串的索引值指的是一个以描述符起始地址为起点,以索引值为偏移量的地址中存放的内容么? 例如 描述符起始地址为2000H,索引值为30H,是不是说字符串就在以2000H+30H=2030H为首地址的单元中呢?谢谢
字符串描述符的索引值是用户人为定义的非0编号,用户自行约定索引值与字符串描述符对应关系,索引值被包含在设备描述符中,PC驱动获取设备描述符后,会分析索引值是否为0,如果非0,则会发送Setup请求包,Setup包中有字符串描述符的索引值,用户根据索引值上传相应的字符串。
看来这东西没我想地那么简单,还是先好好地看下USB的协议再来问吧。太难拉。哎