RTC 初始化和状态寄存器 (RTC_ISR) 位9 ALRBF:闹钟 B标志 (Alarm B flag) 当时间/日期寄存器(RTC_TR 和 RTC_DR)与闹钟 B 寄存器 (RTC_ALRMBR) 匹配时,由 硬件将该标志置 1。 该标志由软件写零清除。 位8 ALRAF:闹钟 A标志 (Alarm A flag) 当时间/日期寄存器(RTC_TR 和 RTC_DR)与闹钟 A 寄存...
位9 ALRBF:闹钟 B 标志 (Alarm B flag) 当时间/日期寄存器(RTC_TR 和 RTC_DR)与闹钟 B 寄存器 (RTC_ALRMBR) 匹配时,由 硬件将该标志置 1。 该标志由软件写零清除。 位8 ALRAF:闹钟 A 标志 (Alarm A flag) 当时间/日期寄存器(RTC_TR 和 RTC_DR)与闹钟 A 寄存器 (RTC_ALRMAR) 匹配时,由 硬...
if(RTC_GetFlagStatus(RTC_FLAG_ALRAF) == SET) { GPIO_ResetBits(GPIOF, GPIO_Pin_9); RTC_ClearFlag(RTC_FLAG_ALRAF); } if(RTC_GetFlagStatus(RTC_FLAG_ALRBF) == SET) { GPIO_SetBits(GPIOF, GPIO_Pin_9); RTC_ClearFlag(RTC_FLAG_ALRBF); } //清除中断标志位 EXTI_ClearITPendingBit(EXTI...
RTC很简单只要给备用电,RTC就会不停,可以进行设置和读时间。同时在RTC上也涉及了闹钟(EXTI_17:RTC_FLAG_ALRAF,相当于RTC的定时器,闹钟到了之后进行异步操作)和唤醒中断(低功耗模式下的操作EXTI_22:RTC_IT_WUT)。 如果PA0上有开关信号唤醒EXIT_Line0,同时也有RTC的唤醒中断EXTI_22需要清除2个中断标记RTC_IT_...
RTC_ClearFlag(RTC_FLAG_ALRAF); printf("ALARM A!\r\n"); } //清中断 EXTI_ClearITPendingBit(EXTI_Line17); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
位8 ALRAF:闹钟 A 标志 (Alarm A flag) 当时间/日期寄存器(RTC_TR 和 RTC_DR)与闹钟 A 寄存器 (RTC_ALRMAR) 匹配时,由 硬件将该标志置 1。 该标志由软件写零清除。 位7 INIT:初始化模式 (Initialization mode) 0:自由运行模式。 1:初始化模式,用于编程时间和日期寄存器(RTC_TR 和 RTC_DR)以及预分...
RTC_ClearFlag(RTC_FLAG_ALRAF);/* Clear the EXTI Line 17 Pending bit (Connected internally to ...
RTC_GetFlagStatus(RTC_FLAG_ALRAF) == SET){LED0_ON;}//判断是否为闹钟Bif(RTC_GetFlagStatus(...
NVIC_IRQChannelCmd = ENABLE;//使能外部中断通道 NVIC_Init(&NVIC_InitStructure);//配置 } //RTC闹钟中断服务函数 void RTC_Alarm_IRQHandler(void) { if(RTC_GetFlagStatus(RTC_FLAG_ALRAF)==SET)//ALARM A中断? { RTC_ClearFlag(RTC_FLAG_ALRAF);//清除中断标志 printf("ALARM A!\r\n"); } EXTI...
\r\n"); /* 使能 PWR 时钟 */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); /* PWR_CR:DBF置1,使能RTC、RTC备份寄存器和备份SRAM的访问 */ PWR_BackupAccessCmd(ENABLE); /* 等待 RTC APB 寄存器同步 */ RTC_WaitForSynchro(); /* 清除RTC中断标志位 */ RTC_ClearFlag(RTC_FLAG_ALRAF...