简单初始化STM32的RTC
I和WFE等低功耗模式的影响。
/*******************************************************************************
* Function Name : RTC_IRQHandler RTC中断
* Description :
* Input : None
* Output : None
* Return : None
*******************************************************************************/
extern volatile bool Sec;//1S标志
void RTC_IRQHandler(void)
{
if(RTC_GetITStatus(RTC_IT_SEC) != RESET)//RTC发生了秒中断(也有可能是溢出或者闹钟中断)
/*RTC_IT_OW溢出中断/RTC_IT_ALR闹钟中断/RTC_IT_SEC秒中断*/
{
RTC_ClearITPendingBit(RTC_IT_SEC);
Sec=TRUE;
//以免RTC计数溢出,这里限制了RTC计数值的大小.0x0001517f实际就是一天的秒数
if(RTC_GetCounter() >= 0x0001517f)
{
RTC_SetCounter(0x0);
RTC_WaitForLastTask();
}
}
}
#include"STM32Lib\\stm32f10x.h"
#include"hal.h"
volatilebool Sec=FALSE;
int main(void)
{
ChipHalInit();//片内硬件初始化
ChipOutHalInit();//片外硬件初始化
TestRtc();//测试RTC
for(;;)
{
if(Sec==TRUE)
{
Sec=FALSE;
GPIOA->ODR^=GPIO_Pin_8;//闪灯
}
}
}
最简单 最基层的CRT写好了..........其实还有好多很酷的功能 比如是否掉电重启 是否是SeSET 复位 等 应该在CRT前 都检测好........
初始化STM32RT 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)