
电控远程调参的一个方案
###原来的配置:
全双工无线串口一对,USART3在程序中设置为调试串口,实现一个串口shell;
调参方案历经迭代,从最原始的程序中调试然后烧录,再到加入shell,使用一个有线ttl连接调试但是在调试一些危险的场景(云台,全车上电调试),有线串口常常会拽断线,甚至连带摔坏电脑。后来升级无线串口。
目前方案还算顺手但是还存在一些问题,如中低端无线串口会偶尔存在卡死的情况,而廖总引以为傲的高档无线串就不会卡死(廖总说的)😂。此外,通过打印来调试其实并不是万无一失的调试方案,会占用一定的时间,如果对时间比较敏感的代码会当场暴毙,但是也可以通过DMA+缓冲区+队列的方式来解决。
###改进方案
####1.调试器自带的仿真调试
####2.通过程序和硬件升级串口
刚好放假前收了一个正点原子的ESP8266,最近在上手的时候有了一个大胆的调试想法。
首先,大疆DR16&17遥控器遥控距离支持1km的超远距离,这样就让宿舍调参有了实现的可能😂😂😂,再加上ESP8266的STA模式。
利用esp的透传,又称透明传输,具体来说就是“输入即输出(如从WiFi模块串口输入的字符会透传到服务器端)”,数据不改变,不同协议之间的转换(如串口到WiFi、蓝牙等)由模块完成。使用者无需关心内部具体实现,因此模块对于使用者是“透明的”、似乎不存在的(因为可无视中间的实现原理)。一个高度封装的模块,应该隐藏内部实现细节,仅对外提供使用接口。'
,然后搭配串口shell,就可以实现“人在床上躺,车在六楼调”的理想生活