社区
单片机/工控
帖子详情
自动识别波特率
kobewade5
2011-11-05 12:18:08
我想做一个自动识别波特率的软件。就是两个PC机传输的时候,不需要再去设定波特率,利用特殊的字符识别或者是算法来实现这一功能。
大家给出出主意,要是能结合单片机就更好了
...全文
391
5
打赏
收藏
自动识别波特率
我想做一个自动识别波特率的软件。就是两个PC机传输的时候,不需要再去设定波特率,利用特殊的字符识别或者是算法来实现这一功能。 大家给出出主意,要是能结合单片机就更好了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AnYidan
2011-11-05
打赏
举报
回复
[Quote=引用 3 楼 kobewade5 的回复:]
有没有更加优化的算法呢?
这样一个个式我感觉时间上比较长,你说呢
[/Quote]
说时迟,那时快
liangboone
2011-11-05
打赏
举报
回复
2楼是很好的方法了。LIN总线的自动波特率同步就是这个方式。
还有如下一种类似的方法供参考。
(1)将串口RX的线同时连到单片机输入扑捉端口。假设波特率的范围是1200-38400.则对应的一位宽度为26us-833us。
(2)甲单片机上电后已1次/秒的频率发送0x55. 乙单片机来输入捕捉来采集RX上高地脉冲的宽度。采集连续四个连续下降沿之间的周期,就可以得到一个位的时间,就可以得到波特率了,采集四个下降沿的目的是为了提高精度。
当采集到的高低电平的宽度超过(1)中的范围时,需要重新等待下一个四个连续的下降沿。这样的目的是防止乙单片机上点的时候正巧采集了第一个0x55的一半,然后又采集到了1s之后的0x55的一部分,这样算出来的波特率是完全错误的。
如果不想做的这么麻烦,只有用输入捕捉采集到两个宽度相等(比如误差《5%)的高电平和低电平,就认为这是一个有效的位宽度,然后计算出波特率。
(3)乙单片机以正确的波特率发送应答信号给甲方建立握手。
kobewade5
2011-11-05
打赏
举报
回复
有没有更加优化的算法呢?
这样一个个式我感觉时间上比较长,你说呢
bjtea
2011-11-05
打赏
举报
回复
可以是,甲方上电后固定的发送同一字符,例如“55”,乙方逐次改变波特率:1200,2400, 4800, 9600接收。当正确收到55后,立即按此波特率,返回一个信息给对方。然后进入正常通讯。
guetcw
2011-11-05
打赏
举报
回复
原理就是发一个0x55或者0xaa然后测出脉冲宽度
串口通讯
自动识别
波特率
单片机
自动识别
波特率
STM32 IAP的bootloader+APP - 可
自动识别
波特率
基于STM32 的IAP串口在线升级程序的bootloader+APP - 可以
自动识别
波特率
第04章-计算机常用通信指标和术语
本课程主要内容如下:1 bit、Byte、KB、MB、GB、TB概念和换算关系2
波特率
、比特率、误码率的概念和意义3 信道、基带信号、频带信号4 频分多路复用、时分多路复用、异步传输、同步传输
上位机自动搜索串口,自动匹配
波特率
点击按钮,搜索所有串口一一匹配
波特率
,看是否成功,
C/C++代码
波特率
检测程序
C/C++代码
波特率
检测程序,网上下的,好像是单片机上用的,谁有更好的可以交流谢谢。
单片机/工控
27,375
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章