OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5042|回复: 2

RTC实时时钟如何设置闹钟值

[复制链接]

9

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2015-12-8
在线时间
9 小时
发表于 2015-12-17 09:19:12 | 显示全部楼层 |阅读模式
5金钱
RTC_EnterConfigMode();/// 允许配置
RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
hour min sec 都是0
timecnt=hour*3600+min*60+sec;
RTC_Set(23,59,55); 
RTC_SetAlarm(0xFFFFFFFA-timecnt);  //设置时间
RTC_WaitForLastTask();
RTC_ExitConfigMode();//退出配置模式 
这样能设定闹钟的值为0:0:0的时候进入中断么

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2015-12-8
在线时间
9 小时
 楼主| 发表于 2015-12-17 16:00:03 | 显示全部楼层
求帮助
u8 RTC_Init(void)
{
//检查是不是第一次配置时钟
u8 temp=0;
 
if (BKP_ReadBackupRegister(BKP_DR1) != 0x5050) //从指定的后备寄存器中读出数据:读出了与写入的指定数据不相乎
{  
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //使能PWR和BKP外设时钟   
PWR_BackupAccessCmd(ENABLE); //使能后备寄存器访问 
BKP_DeInit(); //复位备份区域 
RCC_LSEConfig(RCC_LSE_ON); //设置外部低速晶振(LSE),使用外设低速晶振
while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) //检查指定的RCC标志位设置与否,等待低速晶振就绪
{
temp++;
delay_ms(10);
}
if(temp>=250)return 1;//初始化时钟失败,晶振有问题     
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); //设置RTC时钟(RTCCLK),选择LSE作为RTC时钟    
RCC_RTCCLKCmd(ENABLE); //使能RTC时钟  
RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
RTC_WaitForSynchro(); //等待RTC寄存器同步  
RTC_ITConfig(RTC_IT_SEC|RTC_IT_ALR, ENABLE); //使能RTC秒中断
RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
RTC_EnterConfigMode();/// 允许配置
RTC_SetPrescaler(32767); //设置RTC预分频的值
RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成
RTC_Set(23,59,55);  //设置时间
flag=RTC_GetCounter();
  RTC_SetAlarm(flag+1);  //设置时间
RTC_ExitConfigMode(); //退出配置模式  

RTC_WaitForLastTask();
BKP_WriteBackupRegister(BKP_DR1, 0X5050); //向指定的后备寄存器中写入用户程序数据
}
else//系统继续计时
{

RTC_WaitForSynchro(); //等待最近一次对RTC寄存器的写操作完成
RTC_ITConfig(RTC_IT_SEC|RTC_IT_ALR, ENABLE); //使能RTC秒中断

}
RTC_NVIC_Config();//RCT中断分组设置

RTC_Get();//更新时间


return 0; //ok

} 这样初始化第一次能进入闹钟中断后面就进不去了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-12-19 14:22:40 | 显示全部楼层
帮顶.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 12:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表