社区
单片机/工控
帖子详情
自动识别波特率
kobewade5
2011-11-05 12:18:08
我想做一个自动识别波特率的软件。就是两个PC机传输的时候,不需要再去设定波特率,利用特殊的字符识别或者是算法来实现这一功能。
大家给出出主意,要是能结合单片机就更好了
...全文
490
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自适应
波特率
方法
STM32自适应
波特率
方法官方技术文档,对硬件及软件方法的实现均有说明
波特率
自动识别
通过检测上位机发来的任何数据
自动识别
当前上位机的
波特率
,并自适应。不需要上位机开始时发送一个特定字符。
M0的USART
波特率
自动识别
问题.pdf
STM32F0的 USART
自动识别
问题
自动识别
问题
自动识别
问题
自动识别
问题
自动识别
问题 某客户用STM32F051的芯片做了一个自动
波特率
的实验(代码是仿照ST库里面的例子写的),用串口发送数字键的ASCII码,在接收端只有奇数ASCII被确认
基于未知上位机串行通信
波特率
检测
可能会有用,这个是用来
自动识别
串口通信的
波特率
的一种方法
单片机/工控
27,515
社区成员
28,799
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章