|
想用查询方式判断RTC是否产生了秒进位,为什么查询SECF始终是1,清除的要求是什么?非常感谢!
使用LSE作为RTC时钟,预分配配置32767。
uint32 Get_RTC_data(void)
{
uint32 time = 0;
while(!(RTC.CRL & 1)); //判断SECF,为什么一直是1???
RTC_WaitForSyn(); //等待寄存器操作完成
RTC.CRL &= ~(1);
RTC_WaitForSyn();
time = (((uint32)RTC.CNTH) << 16) | ((uint32)RTC.CNTL);
return time;
}
|
|