CP210x是Silicon Labs 公司出品的一系列USB转串口芯片。目前这一系列有:CP2101,CP2102, CP2103, CP2104, CP2105, 和CP2108。其中不同版本差别在下图可以看到【参考1】: 最近我拿到一个 CP2102 的USB 转串口卡,发现Windows10 可以通过WindowsUpdate 直接安装驱动无需额外下载。另外,它的官方网站提供了大量的资料和参考给人感觉很好。我的目标是使用 Arduino 来直接驱动,因此还需要进行一些额外的研究。非常遗憾,之前介绍的USBlyser 抓包结果让人看起来一头雾水,最后只能使用USB 逻辑分析仪抓包。一端通过Arduino 按照9600 ,8 ,None,1 ,None 模式发送。另外一端使用串口工具读取。数据是单独的A 2 秒后发送“string from www.lab-z.com” 字符串。对照网站提供的AN571 可以解读全部数据。 1. 打开/关闭串口
2.查询CTS/RTS等等线的状态
设备返回状态信息
3.查询 Serial Status
返回一个19Bytes的结构体
4.设置通讯参数
0x0800 : 1 Stop bit, None Parity, Data bits=8 5.设置流控制
发送一个 20Bytes 的数值,上面发送多次的原因是前两次被NAK 了,第三次才成功。 6.设置特殊控制字符(实际上我们不需要)
7.设置波特率
这个 0x01C200 是 115200 的波特率。紧接着又设置了一次,这次是9600
8.设置 Modem 握手方式(我们没有用),这里用了 0x0200,设置了RTS
随后又设置用 DTS
参考:
|