[技术问答] 新定义MCU UART波特率计算方式以及误差改善

[复制链接]
 楼主| 小夏天的大西瓜 发表于 2023-4-17 20:09 | 显示全部楼层 |阅读模式
1、波特率计算
由于一般情况下波特率和芯片系统主频都不是整数关系,所以计算得到的波特率发生器的
数值都不是整数,但是寄存器的值只能赋整数值,所以大多数情况下波特率都是有偏差的,在 UART协议中通信双方允许的
最大波特率偏差为 5%,当应用中必须选择某个固定的波特率。
2、改善方法
但是计算偏差又比较大时,建议用户使用如下几种方式进行改善:
1) 建议用户在使用中选择计算偏差较小的波特率,另外在计算波特率时注意一下,采用四舍五入的方法
给波特率发生器赋值;
2) 将通信双方的波特率尽量往同一个方向偏,以减小通信双方的波特率偏差;
3) 新定义全系列芯片的 HRC都是可调的,可以通过调节 HRC得到精准的波特率,但是要注意 HRC的
调节不能超过芯片最高主频的 RD8G403主频最高不能超过 18M),同时 HRC调节之后,定时
器, PWM等功能会受到影响,建议在 UART发送前调节 HRC,发送完成后再将 HRC调回默认值。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

259

主题

2240

帖子

3

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

259

主题

2240

帖子

3

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