请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 1089|回复: 5

STC32G12K128 RTC

[复制链接]
  • TA的每日心情
    开心
    2024-1-4 13:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    7

    回帖

    69

    积分

    注册会员

    积分
    69
    发表于 2023-2-7 12:48:40 | 显示全部楼层 |阅读模式
    STC32G12K128芯片在屠龙刀上测试rtc程序,发现用外部32.768k晶振无法使用,运行到:while (!(X32KCR & 1));  //等待时钟稳定就卡住了。使用内部32k晶振测试发现一切正常。屠龙刀p16,p17上已焊接32.768晶体和起振电容,不知什么原因?
    程序如下:

    static void RTC_config()
    {
        INIYEAR = 21;     //Y:2021
        INIMONTH = 12;    //M:12
        INIDAY = 31;      //D:31
        INIHOUR = 23;     //H:23
        INIMIN = 59;      //M:59
        INISEC = 50;      //S:50
        INISSEC = 0;      //S/128:0


        ALAHOUR = 0;        //闹钟小时
        ALAMIN  = 0;        //闹钟分钟
        ALASEC  = 0;        //闹钟秒
        ALASSEC = 0;        //闹钟1/128秒


        //STC32G 芯片使用内部32K时钟,休眠无法唤醒
    //    IRC32KCR = 0x80;                                   //启动内部32K晶振.
    //    while (!(IRC32KCR & 1));  //等待时钟稳定
    //    RTCCFG = 0x03;                                    //选择内部32K时钟源,触发RTC寄存器初始化


        X32KCR = 0x80 + 0x40;   //启动外部32K晶振, 低增益+0x00, 高增益+0x40.
        while (!(X32KCR & 1));  //等待时钟稳定
        RTCCFG = 0x01;                            //选择外部32K时钟源,触发RTC寄存器初始化


        RTCIF = 0x00;     //清中断标志
    //    RTCIEN = 0x88;    //中断使能, 0x80:闹钟中断, 0x40:日中断, 0x20:小时中断, 0x10:分钟中断, 0x08:秒中断, 0x04:1/2秒中断, 0x02:1/8秒中断, 0x01:1/32秒中断
        RTCIEN = 0xF8;    //中断使能, 0x80:闹钟中断, 0x40:日中断, 0x20:小时中断, 0x10:分钟中断, 0x08:秒中断, 0x04:1/2秒中断, 0x02:1/8秒中断, 0x01:1/32秒中断
       
                    RTCCR = 0x01;     //RTC使能


        while(RTCCFG & 0x01);        //等待初始化完成,需要在 "RTC使能" 之后判断.
        //设置RTC时间需要32768Hz的1个周期时间,大约30.5us. 由于同步, 所以实际等待时间是0~30.5us.
        //如果不等待设置完成就睡眠, 则RTC会由于设置没完成, 停止计数, 唤醒后才继续完成设置并继续计数.
    }

    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    702

    回帖

    2458

    积分

    超级版主

    积分
    2458
    发表于 2023-2-7 13:58:38 | 显示全部楼层
    屠龙刀上电阻R133去掉了吗?

    屠龙刀出厂时是焊R133的,如果没有去掉,晶振无法起振


    1.png

  • TA的每日心情
    开心
    2024-1-4 13:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    7

    回帖

    69

    积分

    注册会员

    积分
    69
     楼主| 发表于 2023-2-7 15:11:10 | 显示全部楼层
    本帖最后由 gjf 于 2023-2-7 15:12 编辑
    zhp 发表于 2023-2-7 13:58
    屠龙刀上电阻R133去掉了吗?

    屠龙刀出厂时是焊R133的,如果没有去掉,晶振无法起振

    是这个问题,去掉电阻R133就好了,非常感谢超级版主。

    该用户从未签到

    45

    主题

    2743

    回帖

    6130

    积分

    超级版主

    积分
    6130
    发表于 2023-2-7 15:20:46 | 显示全部楼层
    除了要去掉电阻R133,还要注意32768的晶振两端的匹配电容在10~47pF之间,调整电容可以微调频率。RTC电路是稳压的,VCC电压变化不会影响频率。
  • TA的每日心情
    开心
    2024-1-4 13:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    7

    回帖

    69

    积分

    注册会员

    积分
    69
     楼主| 发表于 2023-2-7 16:14:45 | 显示全部楼层
    梁工 发表于 2023-2-7 15:20
    除了要去掉电阻R133,还要注意32768的晶振两端的匹配电容在10~47pF之间,调整电容可以微调频率。RTC电路是 ...

    匹配电容焊接的是27pf,串口打印的一秒中断准吗?
    [16:13:19.692]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=4,Second=54

    [16:13:20.652]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=4,Second=55

    [16:13:21.652]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=4,Second=56

    [16:13:22.652]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=4,Second=57

    [16:13:23.652]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=4,Second=58

    [16:13:24.652]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=4,Second=59

    [16:13:25.662]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=0
    RTC MIN_Flag!

    [16:13:26.662]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=1

    [16:13:27.662]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=2

    [16:13:28.662]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=3

    [16:13:29.672]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=4

    [16:13:30.672]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=5

    [16:13:31.672]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=6

    [16:13:32.672]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=7

    [16:13:33.682]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=8

    [16:13:34.682]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=9

    [16:13:35.682]收←◆Year=200,Month=1,Day=1,Hour=0,Minute=5,Second=10

    点评

    串口打印的一秒中断准吗? 不明白这一句的意思。  详情 回复 发表于 2023-2-7 16:23

    该用户从未签到

    45

    主题

    2743

    回帖

    6130

    积分

    超级版主

    积分
    6130
    发表于 2023-2-7 16:23:26 | 显示全部楼层
    gjf 发表于 2023-2-7 16:14
    匹配电容焊接的是27pf,串口打印的一秒中断准吗?
    [16:13:19.692]收←◆Year=200,Month=1,Day=1,Hour=0,M ...

    串口打印的一秒中断准吗?

    不明白这一句的意思。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-3-29 00:42 , Processed in 0.062221 second(s), 52 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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