社区
单片机/工控
帖子详情
自动识别波特率
kobewade5
2011-11-05 12:18:08
我想做一个自动识别波特率的软件。就是两个PC机传输的时候,不需要再去设定波特率,利用特殊的字符识别或者是算法来实现这一功能。
大家给出出主意,要是能结合单片机就更好了
...全文
476
5
打赏
收藏
自动识别波特率
我想做一个自动识别波特率的软件。就是两个PC机传输的时候,不需要再去设定波特率,利用特殊的字符识别或者是算法来实现这一功能。 大家给出出主意,要是能结合单片机就更好了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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然后测出脉冲宽度
串口通讯
自动识别
波特率
### 串口通讯
自动识别
波特率
#### 一、引言 在串行通信领域,尤其是在80C51单片机的应用中,
波特率
的设置对于数据的准确传输至关重要。传统的
波特率
设置方法通常需要预先知道通信双方的
波特率
,并进行手动配置。...
STM32自适应
波特率
方法
1. 自动
波特率
检测模式(ABR),它允许设备
自动识别
波特率
,减少初始化时的配置复杂性,尤其是在设备间
波特率
可能变动的情况下。 2. 错误计算,是在自动
波特率
检测过程中必须考虑的一个方面。不同配置下,如晶振...
波特率
自动识别
这种方法的关键在于设计合适的阈值和决策规则,以确保在各种噪声和干扰环境下都能准确识别
波特率
。 在提供的文件" AUTOBAUD.ASM"中,我们可以推测这是用汇编语言编写的代码,用于实现上述的
波特率
自动识别
功能。...
基于51单片机的
波特率
自动识别
系统程序(附C51源码)
本文探讨的是一种基于80C51单片机的
波特率
自动识别
系统,它允许设备在无需预设
波特率
的情况下,通过接收到的数据自动检测并适应
波特率
,从而简化了多
波特率
环境下的通信问题。 传统的串行通信通常需要事先设定波特...
M0的USART
波特率
自动识别
问题.pdf
STM32F0的 USART
自动识别
问题
自动识别
问题
自动识别
问题
自动识别
问题
自动识别
问题 某客户用STM32F051的芯片做了一个自动
波特率
的实验(代码是仿照ST库里面的例子写的),用串口发送数字键的ASCII码,在接收端只有...
单片机/工控
27,511
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章