关于F4 RTC闹钟如何进入中断服务函数

2019-07-20 18:48发布

1、由于正点原子的官方例程中没有验证闹钟功能,正确性有待商榷(我是没有调出来)。
2、首先明确一个概念:RTC闹钟的中断是通过一顿操作挂载在LIN17外部中断线上面的(不知道为什么,也查不到)所以初始化外部中断线17是必要的。
EXTI_InitStruct.EXTI_Line=EXTI_Line17;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_Init(&EXTI_InitStruct);
3、闹钟中断服务函数中一定要清除LINE17的中断标志位。
void RTC_Alarm_IRQHandler(void)
{
if(RTC_GetITStatus(RTC_IT_ALRA) == 1)
{
  RTC_ClearITPendingBit(RTC_IT_ALRA);
  LCD_Clear(BLACK);
}
EXTI_ClearITPendingBit(EXTI_Line17);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
meng907161614
1楼-- · 2019-07-20 19:15
对的,闹钟设置了也没反应,
meng907161614
2楼-- · 2019-07-20 22:45
meng907161614 发表于 2016-11-17 16:02
对的,闹钟设置了也没反应,

行了,你把设置闹钟的函数放到主函数里就行了,之前放在初始化函数一直不行。。。

一周热门 更多>