[MCU] 波特率检测

[复制链接]
344|37
 楼主 | 2019-11-10 21:25 | 显示全部楼层 ||阅读模式
msp430f169 用UATR通信,主机发送0000 1101,一位起始位,8位数据位,一位停止位,如果主机的波特率设为9600,从机的波特率设为4800,那么从机收到的是什么呢?

使用特权

评论回复
| 2019-11-10 21:28 | 显示全部楼层
自己可以用串口在自己的电脑上用串口调试小助手的试一下的

使用特权

评论回复
 楼主 | 2019-11-10 21:30 | 显示全部楼层
具体怎么搞?

使用特权

评论回复
| 2019-11-10 21:33 | 显示全部楼层
直接把你的串口线的RX跟TX短路,然后发送该字节数据,看下接受的是啥就知道了啊

使用特权

评论回复
| 2019-11-10 21:38 | 显示全部楼层
哦,这个时效性你可能达不到的,我用我设备的给你仿真下的你就知道了,稍等的

使用特权

评论回复
 楼主 | 2019-11-10 21:45 | 显示全部楼层
多谢多谢~在线等啊~

使用特权

评论回复
| 2019-11-10 21:47 | 显示全部楼层
这是我发送100个0x0D得到的C8 86 86 C8 A4 86 C8 A4 86 C8 A4 86 86 E4 86 86 C8 A4 86 86 A4 86 C8 A4 86 C8 A4 86 86 A4 86 86 A4 FE,楼主可参考下的,发送2个0x0D为C8,发送3个0x0D为A4,发送1个0x0D为FE

使用特权

评论回复
 楼主 | 2019-11-10 22:07 | 显示全部楼层
发送一个0x0D为什么会是FE呢?

使用特权

评论回复
| 2019-11-10 22:10 | 显示全部楼层
这个我也有些搞不清楚的啦,不过呢在理论上按位来分析的话,9600波特率发送,4800波特率接收,主机发送0x0D,其实际发送的电平0 00001101 1,接收到的电平可为0 01011111 1

使用特权

评论回复
| 2019-11-10 22:39 | 显示全部楼层
一般的希望两边的波特率一定要一致,不然肯定会造成数据的误码的

使用特权

评论回复
 楼主 | 2019-11-10 22:43 | 显示全部楼层
恩 好吧 我再研究研究~多谢哈~

使用特权

评论回复
| 2019-11-10 22:50 | 显示全部楼层
呵呵,不客气的啦,你要是做过模拟UART口的,就会更能进一步的了解更深层的东西的,这数据传输最基本的就是高低电平的变化的,中间的一个电平出现读取错误,就会影响你后边的数据的读取的正确性的

使用特权

评论回复
| 2019-11-10 22:54 | 显示全部楼层

一般情况下,UART是双方的BAUD须一致的,否则会造成通信出现误码

使用特权

评论回复
 楼主 | 2019-11-10 22:59 | 显示全部楼层
但我现在需要自动检测波特率后自动匹配。。。您有什么好的方法么?

使用特权

评论回复
| 2019-11-10 23:07 | 显示全部楼层
不是很清楚,随便说说,呵呵

使用特权

评论回复
| 2019-11-10 23:11 | 显示全部楼层

波特率不一致,收到的是乱码

使用特权

评论回复
| 2019-11-10 23:16 | 显示全部楼层
两边的波特率设置不一致的,就根本得不到正确的数据的

使用特权

评论回复
| 2019-11-11 14:54 | 显示全部楼层
自动波特率,是指某一方可以检测对方传输数据时的波特率,从而采用与对方相同的波特率进行数据传输,而不需要人工设置。

使用特权

评论回复
| 2019-11-11 14:54 | 显示全部楼层
看是什么样的串口协议了。  

使用特权

评论回复
| 2019-11-11 14:54 | 显示全部楼层
如果4800不对就换为9600  

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖