苍天哪,被一个 CP2102 的串口 bug 折腾了快 3 天
添加图片注释,不超过 140 字(可选)
现象:
运行于BBP V1/V2 控制板上的 PH47 框架下无论 PilotBase 还是 Devbase 固件,如果在调试串口中输入任意指令后,遥测串口接收飞控下行数据的数据量就会大幅增加,从之前正常45k左右飙升到100k以上。
反复测试,包括把软件版本回滚到之前 BBP 固件,故障依旧。
但是只要通过 CSS 向飞控发送一个控制指令,下行数据速率就恢复正常了。围绕着这个现象做了大量 debug 工作,折腾了近三天,一无所获。
神奇的是,将 CSS 在另外一台电脑运行时却又一切正常,相同的 CSS 版本,相同的控制站工程,相同的飞控板。
解决:
后来突然想到,运行正常的那台电脑是 Win7,出问题的电脑是Win11,不会 TMD 是操作系统的问题吧?如果与操作系统有关,那很可能是与串口有关的驱动出了问题。
看了 Win11 下串口转 usb 模块 CP2102 的版本,确实比较老了,上官网下载了最新驱动,安装,果然,故障基本消失了,偶尔会有,但概率已经非常小了。
添加图片注释,不超过 140 字(可选)