你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm8l151RTC

[复制链接]
fengzhiqiang 提问时间:2016-11-26 15:12 /
哪位大侠知道rtc时间更新中断怎么用库函数配置???急救....
收藏 1 评论10 发布时间:2016-11-26 15:12

举报

10个回答
中山无雪 回答时间:2016-12-5 09:53:45
在STMCubeMX里面有直接配置呀

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

chaplin1999-262 回答时间:2016-12-5 08:41:21
帮顶了,只用过003 没RTC功能
wudianjun2001 回答时间:2016-12-5 08:43:08
我用过库,我用的寄存器
void RTC_Init (void)
{
        CLK_CRTCR = 0x10;                                                                        //选择外部32K,不分频。打开RTC时钟的话,自动会选择LSE

        RTC_WPR = 0xCA;                                                                         //写保护
        RTC_WPR = 0x53;
        RTC_ISR1_INIT = 1;                                                                        //进入初始化模式
        while (RTC_ISR1_INITF == 0);                                                //等待为1
        RTC_CR1 = 0x20;                                                     //24小时格式,系统时钟=RTC时钟
        RTC_CR2 = 0x00;

        Display_Time.Second = 30;
        RTC_TR1 = HEX2BCD (Display_Time.Second) & 0x7F;                //秒
        RTC_TR2 = HEX2BCD (Display_Time.Minute) & 0x7F;                //分
        RTC_TR3 = HEX2BCD (Display_Time.Hour) & 0x3F;                //时
        RTC_DR1 = HEX2BCD (Display_Time.Day) & 0x3F;                //天
        RTC_DR2 = HEX2BCD (Display_Time.Month) | (Display_Time.Week << 5);//周和月
        RTC_DR3 = HEX2BCD (Display_Time.Year % 100);                //年

        RTC_ISR1_INIT = 0;                                                                        //退出初始化模式
}

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

wudianjun2001 回答时间:2016-12-5 08:43:48
哦,我也没用中断
仙景 回答时间:2016-12-5 08:46:26
  1. CLK_LSICmd(ENABLE);
  2. while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);

  3. CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//允许RTC时钟
  4. CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_2);//选择RTC时钟源LSI、2=19K
  5. RTC_WakeUpCmd(DISABLE);//the wake up Unit must be disabled (if enabled) using RTC_WakeUpCmd(Disable).
  6. RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);//19k/16=1.1875KHz t=0.85ms
  7. //RTC_ITConfig(RTC_IT_WUT, ENABLE);//开启中断
  8. RTC_SetWakeUpCounter(3529);//设置RTC Weakup计算器初值3529*0.85=3000MS
  9. ITC_SetSoftwarePriority(RTC_IRQn, ITC_PriorityLevel_3);//优先级
  10.   RTC_ITConfig(RTC_IT_WUT, ENABLE);
  11.   RTC_WakeUpCmd(ENABLE);
复制代码


自己好好看看,然后再看看手册
斜阳 回答时间:2016-12-5 10:12:46
围观一下
无薪税绵 回答时间:2016-12-5 12:25:39
6楼的建议不错。
z258121131 回答时间:2016-12-5 13:36:06
ding              
peter001 回答时间:2016-12-5 21:45:20
围观一下
原田夜舞love 回答时间:2016-12-5 23:43:45
帮顶了

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版