打印
[技术问答]

新定义MCU UART波特率计算方式以及误差改善

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

199

主题

1668

帖子

2

粉丝