这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » N76E003串口使用115200波特率需要微调HIRC到16.6MHz,使用默

共2条 1/1 1 跳转至

N76E003串口使用115200波特率需要微调HIRC到16.6MHz,使用默认16MHz波特率会有很大的误差是为什么?

工程师
2024-10-04 15:15:55     打赏

N76E003如果串口使用115200波特率需要微调HIRC到16.6MHz,使用默认16MHz波特率会有很大的误差。




关键词: N76E003     串口     波特率    

助工
2024-10-04 15:16:18     打赏
2楼

N76E003是一款8位单片机,其内部时钟源分为HIRC(高精度内部振荡器)和LIRC(低精度内部振荡器)两种。默认情况下,N76E003的系统时钟使用的是HIRC,频率为16MHz;而串口通信的波特率需要根据系统时钟进行设定。

串口通信波特率的设定使用定时器进行计数,常见的设定方法是使用波特率发生器,该发生器的输入时钟来自于系统时钟。当系统时钟频率和波特率发生器的分频系数设定不准确时,就会导致实际波特率与设定的波特率存在误差。

在N76E003中,使用115200波特率进行串口通信时,根据公式:
实际波特率 = 时钟频率 / (16 * (256 - 波特率发生器分频系数))

当时钟频率为16MHz时,波特率计算为:
实际波特率 = 16000000 / (16 * (256 - 波特率发生器分频系数))

由于波特率发生器分频系数是整数,只有256种可能的取值,所以实际波特率的可能值有限。而115200波特率在16MHz时钟频率下,无法找到合适的分频系数来得到准确的波特率,因此会导致较大的误差。

为了解决这个问题,可以微调HIRC的频率到16.6MHz,这样就可以在115200波特率下得到更接近准确值的实际波特率。这个微调可以通过调整HIRC的电容值或者使用外部晶振来实现。

需要注意的是,在使用外部晶振时,还需要在代码中将系统时钟源设置为晶振源,并设置晶振的频率。

综上所述,N76E003如果使用115200波特率,需要微调HIRC到16.6MHz,因为使用默认的16MHz时钟频率会导致较大的误差。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]