fengzhiqiang 发表于 2016-11-26 15:12:22

stm8l151RTC

哪位大侠知道rtc时间更新中断怎么用库函数配置???急救....

中山无雪 发表于 2016-12-5 09:53:45

在STMCubeMX里面有直接配置呀

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;                                                                        //退出初始化模式
}

wudianjun2001 发表于 2016-12-5 08:43:48

哦,我也没用中断

liu553824989 发表于 2016-12-5 08:46:26

CLK_LSICmd(ENABLE);
while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);

CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//允许RTC时钟
CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_2);//选择RTC时钟源LSI、2=19K
RTC_WakeUpCmd(DISABLE);//the wake up Unit must be disabled (if enabled) using RTC_WakeUpCmd(Disable).
RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);//19k/16=1.1875KHz t=0.85ms
//RTC_ITConfig(RTC_IT_WUT, ENABLE);//开启中断
RTC_SetWakeUpCounter(3529);//设置RTC Weakup计算器初值3529*0.85=3000MS
ITC_SetSoftwarePriority(RTC_IRQn, ITC_PriorityLevel_3);//优先级
RTC_ITConfig(RTC_IT_WUT, ENABLE);
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

围观一下
页: [1] 2
查看完整版本: stm8l151RTC