关于如何侦测未知串口通讯波特率的问题求助。

2020-01-23 14:31发布

如题,现在接到了一个没有任何资料的设备,要求通过串口与其进行数据交换。

目前最大的障碍是不知道该串口的波特率,有没有什么好办法探测到串口通讯的波特率?

波特率可以说是本次任务的第一个难点,也是决定成败的关键。如果无法准确地探测到串口的波特率,那么一切后续工作都无从谈起了。

不知道大家以前是否曾经遇到过类似的问题,是通过什么手段解决的?

希望各位坛友不吝赐教,广伸援手,小生在此谢过了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
jack3018
2020-01-24 17:59
以波特率9600 bps 常用配置“9600,8个数据位,1个停止位,无奇偶校验,无流控制”为例
数据串,它的实际传输格式是这样的(停止位为1,起始位为0):
     第一个字符                          保护时间(N待定)                第二个字符              保护时间(N待定)
“1个起始位 + 8个数据位 + 1个停止位” + “N 个停止位” + “1个起始位 + 8个数据位 + 1个停止位” + “N 个停止位”....
其中 起始位、数据位、停止位的持续时间长短,实际上就决定了波特率的大小
9600 bps 意味着,每个比特的持续的时间为1000000 / 9600 us = 104us。

一周热门 更多>