STM32F103 HAL库学习 之 RTC实时时钟和中断

1.RTC 实时时钟

        RTC(Real Time Clock)本质上是一个定时器,它拥有一个连续计数的计数器,提供时钟日历的功能,它的驱动时钟可以是外部晶体的32.768kHz的振荡器(提供LSE信号),内部低功耗RC振荡器(提供LSI信号),或者高速的经128分频的时钟(提供HSE信号)。

 2.stm32cubemx设置

3.秒中断/闹钟中断 

1.开启秒中断/闹钟中断

       设置秒中断

HAL_RTCEx_SetSecond_IT(&hrtc);

        设置闹钟中断

RTC_AlarmTypeDef alarmTime = {0};

alarmTime.AlarmTime.Hours = Xxx;
alarmTime.AlarmTime.Minutes = Xxx;
alarmTime.AlarmTime.Seconds = Xxx;
HAL_RTC_SetAlarm_IT(&hrtc, &alarmTime, RTC_FORMAT_BIN);

 在RTC中断处理函数中修改需求使用的中断函数(在/Core/Src/stm32f1xx_it.c中修改)

void RTC_IRQHandler(void)
{
    // RTC秒中断处理函数
    HAL_RTCEx_RTCIRQHandler(&hrtc);
    
    // RTC闹钟处理函数
    // HAL_RTC_AlarmIRQHandler(&hrtc);
}

        之后在其他地方重写HAL_RTCEx_RTCIRQHandler函数或者HAL_RTC_AlarmIRQHandle函数,并在其中编写你的中断处理逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值