[MCU] 波特率检测

[复制链接]
2050|37
dzfansman 发表于 2019-11-11 14:54 | 显示全部楼层
以某个波特率发送固定已知数据的,用单片机串口接收数据,先用1200的波特率接收  
sanxingnote7 发表于 2019-11-11 14:55 | 显示全部楼层
检测到两个脉冲的时间差  
backlugin 发表于 2019-11-11 14:55 | 显示全部楼层
其实就是将对方的TXD接到计数器管脚,在一定时间内抓取最窄脉宽就行了
sdCAD 发表于 2019-11-11 14:55 | 显示全部楼层
自动波特率检测可以通过软件实现  
fengm 发表于 2019-11-11 14:56 | 显示全部楼层
通信过程中必然需要一段同步过程  
sanfuzi 发表于 2019-11-11 14:56 | 显示全部楼层
串口波特率是自动识别的吗   
updownq 发表于 2019-11-11 15:04 | 显示全部楼层
通信波特率一般选择1800、4800、9600和 19200等  
sanfuzi 发表于 2019-11-11 15:05 | 显示全部楼层
单片机加电时用加一段检测串口的初始化程序  
quickman 发表于 2019-11-11 15:05 | 显示全部楼层
自动波特率检测就是检测对方传输数据  
fengm 发表于 2019-11-11 15:05 | 显示全部楼层
需要双方的通信协议进行约定。   
jstgotodo 发表于 2019-11-11 15:05 | 显示全部楼层
有些子协议本身就带有位同步字段,用于波特率自动检测及位同步  
sdCAD 发表于 2019-11-11 15:05 | 显示全部楼层
任何一款带有UART的单片机都可以实现。   
iamaiqiyi 发表于 2019-11-11 15:05 | 显示全部楼层
还不对就换19200   
sanxingnote7 发表于 2019-11-11 15:05 | 显示全部楼层
就 知道波特率了   最好是 01010101(0x55)或10101010(0xAA)  
dzfansman 发表于 2019-11-11 15:05 | 显示全部楼层
如果收到的数据不是已知数据,就换为2400,还不是就换为4800  
updownq 发表于 2019-11-11 15:05 | 显示全部楼层
实际波特率是USART接收器使用自动波特率检测操作确定的波特率  
backlugin 发表于 2019-11-11 15:05 | 显示全部楼层
真正的自动波特率检测功能在检测完以后,还要按照对方的波特率与之通讯的  
sanxingnote7 发表于 2019-11-11 15:05 | 显示全部楼层
                  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部