硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1933|回复: 0
收起左侧

[客户分享] 如何理解AT32的RTC以及ERTC的时钟分频

[复制链接]

23

主题

16

回帖

85

积分

初级会员

积分
85
发表于 2021-8-29 21:31:55 | 显示全部楼层 |阅读模式
本帖最后由 tutu 于 2022-2-23 19:43 编辑

AT32 系列的单片机里面有两种RTC,一种是RTC另外一种是ERTC,两种RTC的分频值配置略有不同
RTC:

2.PNG

上图是从官方参考手册上截取的RTC内部框图,从图中我们可以看到,RTCCLK经过20位分频器RTC_DIV分频后得到日历的1Hz时钟,所以我们只需要配置RTC_DIV就行了,分频公式为RTC_CLK/(RTC_DIV+1)
例如当外部晶振为32768Hz,那么配置RTC_DIV=32767就能得到1Hz时钟,32768/(32767+1) = 1Hz
程序示例:
rtc_divider_set(32767);

ERTC:
1.PNG
上图是从官方参考手册上截取的ERTC内部框图,从图中我们可以看到,ERTCCLK先经过7位分频器,再经过15位分频器,得到后得到日历的1Hz时钟,所以我们只需要配置7位分频器,以及15位分频器,分频公式为ERTC_CLK/((7位分频器+1)(15位分频器+1))
例如当外部晶振为32768Hz,那么配置7位分频器=127,15位分频器=255,就能得到1Hz时钟,32768/(127+1)(255+1) = 1Hz
程序示例:
ertc_divider_set(127, 255);




回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 20:56 , Processed in 0.234925 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表