; //设置计数初始值RTC_WaitForLastTask();RTC_SetPrescaler(32767);RTC_WaitForLastTask();RTC_SetAl...
// 9. 配置 RTC 预分频器,使得 RTC 秒周期为 1Hz RTC_SetPrescaler(32767); // RTC 预分频器值, 32.768kHz / 32768 = 1Hz // 7. 等待 RTC 时钟准备好 RTC_WaitForLastTask(); RTC_WaitForSynchro() ; } 做一版优化 第一次进入初始化函数的时候再配置完成后,对后备区的寄存器做一次标记 (BKP_Write...
(ENABLE); // 配置 RTC 预分频器 RTC_SetPrescaler(32767); // 同步和异步预分频器设置,使 RTC 时钟为 1Hz // 等待 RTC 寄存器同步 RTC_WaitForSynchro(); // 初始化 RTC RTC_InitTypeDef RTC_InitStructure; RTC_InitStructure.RTC_AsynchPrediv = 0x7F; RTC_InitStructure.RTC_SynchPrediv = 0xFF; ...
RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成 RTC_SetPrescaler(32767); //设置RTC时钟分频值为32767 RTC_WaitForLastTask(); //等待最近一次对RTC寄存器的写操作完成 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //NVIC_Group:先占优先级2位,从优先级2位 NVIC_InitStructure.NVIC_IRQChannel =...
RTC_SetPrescaler(40000);//分频后为1HZ //RTC_SetPrescaler(32767);//分频后为1HZ RTC_WaitForLastTask();//等待上一次写RTC任务完成 // RTC_ClearITPendingBit(RTC_IT_ALR); // RTC_WaitForLastTask(); RTC_ITConfig(RTC_IT_ALR , DISABLE);//使能闹钟中断. 秒中断RTC_IT_SEC ...
void RTC_SetPrescaler(uint32_t PrescalerValue); 1. RTC使能中断函数: void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState); 1. 使能秒中断 RTC_ITConfig(RTC_IT_SEC, ENABLE); //使能 RTC 秒中断 1. 设置RTC的计数值,也就是RTC_CNT。注意,这也就是设置时间,时间和计数值是需要换算的。
RTC_SetPrescaler(32767);//设置RTC时钟分频值为32767 RTC_WaitForLastTask();//等待最近一次对RTC寄存器的写操作完成 RTC_WriteClock(year, month, day, hour, min, sec);//设置时间 BKP_WriteBackupRegister(BKP_DR2, 0xA587);//配置完成后,向BKP数据寄存器2中写特殊字符0xA587 ...
();//进入配置RTC模式RTC_SetPrescaler(32767);RTC_SetCounter(0);//初始值设定为0sRTC_WaitForLastTask();RTC_SetAlarm(40);//闹钟值设定为40sRTC_WaitForLastTask();//等待上述配置完成RTC_ExitConfigMode();//退出配置模式BKP_WriteBackupRegister(BKP_DR1,0XC0B4);PWR_BackupAccessCmd(DISABLE);//不允许...
(ENABLE); // 配置RTC预分频器 RTC_SetPrescaler(32767); // 等待RTC寄存器同步 RTC_WaitForSynchro(); // 初始化RTC RTC_InitTypeDef RTC_InitStructure; RTC_InitStructure.RTC_AsynchPrediv = 0x7F; RTC_InitStructure.RTC_SynchPrediv = 0xFF; RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; ...
RTC_SetPrescaler(32767); // 这里配置了预分频值,大家可以打开函数库看看这个函数的 内部的代码,里面就有包含了2、3、4 讲述的操作。 补充:根据以下公式,这些位用来定义计数器的时钟频率: fTR_CLK = fRTCCLK/(PRL[19:0]+1) , 我们LSE 是 32.768KHZ = 32768Hz,由上述公式就可以知道最终f TR_CLK = ...