打印
[活动专区]

【AT-START-F423测评】7.ERTC电子时钟

[复制链接]
1391|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuyy1989|  楼主 | 2023-10-29 13:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yuyy1989 于 2023-10-29 18:50 编辑

#申请原创# @21小跑堂  

ERTC是AT32F423的实时时钟,支持2组闹钟支持时间戳,时钟源可从LEXT、 LICK、分频后的 HEXT 中选择

这块板子外接了32.768kHz的低速晶振

在AT32 Work Bench开启它,并配置ERTC使用

中开启ERTC的时钟源和日历,可以在这里直接配置初始的日期和时间

配置唤醒定时器每1秒中断一次并开启唤醒中断,然后生成代码,这里要注意一下,生成的ERTC配置代码中唤醒中断的相关代码缺少了一部分,ERTC唤醒中断还要配置EXINT

需要手动加上相关代码

后来再生成代码这里又有了

中断函数处理
void proc_ertc_update()
{
    ertc_time_type time;

    ertc_calendar_get(&time);
    printf("Time:  %02d-%02d-%02d 星期%d ",time.year, time.month, time.day, time.week);
    printf("%02d:%02d:%02d\r\n",time.hour, time.min, time.sec);
}
void ERTC_WKUP_IRQHandler(void)
{
  /* add user code begin ERTC_WKUP_IRQ 0 */
    extern void proc_ertc_update();
    if(ertc_flag_get(ERTC_WATF_FLAG) != RESET)
    {
        ertc_flag_clear(ERTC_WATF_FLAG);
        exint_flag_clear(EXINT_LINE_22);
        proc_ertc_update();
    }

  /* add user code end ERTC_WKUP_IRQ 0 */
  /* add user code begin ERTC_WKUP_IRQ 1 */

  /* add user code end ERTC_WKUP_IRQ 1 */
}
运行效果


结合之前的LCD


使用特权

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

本版积分规则

146

主题

698

帖子

6

粉丝