社区导航

 

搜索
查看: 375|回复: 0

[原创] 【ATmega4809 Curiosity Nano测评】RTC的使用

[复制链接]

9073

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2019-10-10 23:34 | 显示全部楼层 |阅读模式

在ATmega4809 中,带有RTC时钟模块,它可以用来实时计数器(Real-Time Counter)和周期中断定时器(Periodic Interrupt Timer)。因为没有日历功能,所以没有实时时钟功能,而只是一个计数器。

 

使用RTC时,可以选择内部RC振荡器、外部时钟、外部32K作为时钟源。可以配置时钟分频获得长延时,可以设置RTC溢出中断和比较中断。

 

下面以溢出中断为例,介绍RTC的基本使用方法。

 

首先在MCC中添加RTC模块

image.png 然后先配置Pin,设置PF5为输出,方便指示RTC运行状态

image.png

然后配置RTC,选择时钟为外部32K 振荡器,时钟分频设置为1,周期(Period)设置为1s,并允许Overflow中断

image.png

在中断管理中,允许全局中断

image.png

 

在系统模块中,将XOSC32设置为ENABLE(这一点非常重要,否则外部32K时钟将不工作)

image.png

产生MCC的代码后,在main.c中添加下面代码:

 

#include "mcc_generated_files/mcc.h"

void RTC_OVI()
{
    PORTF_toggle_pin_level(5);
}

/*
    Main application
*/
int main(void)
{
    /* Initializes MCU, drivers and middleware */
    SYSTEM_Initialize();

    RTC_SetOVFIsrCallback(RTC_OVI);
    
    /* Replace with your application code */
    while (1){
    }
}


编译并下载后,可以看到LED以1Hz的频率闪烁,代表RTC中断正常运行。


此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自单片机论坛


回复

使用道具 举报

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

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-11-14 20:20 , Processed in 0.156228 second(s), 17 queries , Gzip On, MemCache On.

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