新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2020-2-3
- 在线时间
- 12 小时
|
不知道的时候以为是玄学,学完发现真相只有一个。。。。目的 使用STM32F103 没有外部晶振,做一个低功耗的传感器 RTC闹钟唤醒STOP模式
1.RTC时钟初始化,记得打开闹钟中断RTC_ITConfig(RTC_IT_ALR, ENABLE); //使能RTC闹钟中断
2.使能外部中断线17,对应中断通道是RTCAlarm_IRQn
之前以为一设置实时时钟闹钟就会死机,或者说进入不到RTCAlarm_IRQHandle(printf没有打印就以为没到这里)
实际是缺了关键的一句EXTI_ClearITPendingBit(EXTI_Line17);
void RTCAlarm_IRQHandler(void) //RTC通过外部中断触发的中断
{
if(RTC_GetITStatus(RTC_IT_ALR)!= RESET)//闹钟中断
{
EXTI_ClearITPendingBit(EXTI_Line17);//这个中断里面必须清掉这个标志位 否则会死机
uart_init(115200); //串口初始化为115200
printf("RTC EXIT line");
RTC_ClearITPendingBit(RTC_IT_ALR); //清闹钟中断
}
}
|
|