我在公司做的软件经常和串口通信打交道,通俗的说就是手机刷机的程序。 但是只会刷公司生产的产品,其他的就不会了,呵呵。
最近公司上上下下在提“降成本”。任何一个岗位都需要考虑如何参与到降成本的活动中去,有人提出我做的串口通信的软件工具需要提升速率。但从PC端软件提升串口波特率,这没有任何难度。难度在于终端必须同时提升串口的通信速率,否则就是一头热。而且两端速率不同,不能通信。新的芯片终端可以提升速率,但是旧有的终端软件怎么办?所有的都修改,工作量巨大,而且并不是所有的硬件都支持更高的速率。于是迫切需要我的PC端软件能够自动侦测终端的通信速率。
我咨询了一些公司的资深软件开发员,他的建议是一个个速率尝试法,能正常通信的当前速率就是通信速率。因为我的刷机软件和终端多个模块通信,逐一与各个模块交互通信,采用这种逐个尝试的办法可能会有性能上的消耗。暂时留作最后的解决方案。因为我总感觉这个办法似乎有些笨,不够巧妙。
我又到网上搜索了很久,找到一个人发送一个ASCII字符下去,通过判断接收到的字符是什么,得出串口通信速率的方法。个人感觉他的方法比较玄,而且要求比较严格,有点不可靠。找时间继续到网上看能淘到什么好的线索。