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

2020-01-23 14:31发布

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

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

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

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

希望各位坛友不吝赐教,广伸援手,小生在此谢过了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
master5888
1楼-- · 2020-01-24 12:07
用示波器截获波形,然后用测量单个最小脉宽,100US左右大概是9600,200uS大概是4800。
不知对不对,你试验一下吧
jack3018
2楼-- · 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。
security
3楼-- · 2020-01-24 21:50
 精彩回答 2  元偷偷看……
Helloeveryon
4楼-- · 2020-01-25 01:40
如果是用pc发串口命令来控制设备动作的产品可以采用我们的学习型串口控制模块
不用去关心pc端软件的命令协议和波特率等内容
可以支持300--57600任意波特率
http://www.yofeng.com/LrComCtr.asp
xxdcq
5楼-- · 2020-01-25 03:23
知道控制协议的话,一个一个的试也用不了多大会
xinfa190
6楼-- · 2020-01-25 07:43
“波特率可以说是本次任务的第一个难点,也是决定成败的关键。如果无法准确地探测到串口的波特率,那么一切后续工作都无从谈起了。 ”

如何知道未知串口的波特率这应该是一个电子工程师手到擒来的事。用示波器测、用串口助手看,几分钟就搞定的事也值得楼主发帖子,还说这么严重。我不得不怀疑楼主的能力,以及“本次任务的第一个难点”不是串口波特率而是负责人的能力。

一周热门 更多>