
void RTC_Configuration(void) { //EXTI_InitTypeDef EXTI_InitStructure; //NVIC_InitTypeDef NVIC_InitStructure; RTC_InitTypeDef RTC_InitStructure; / Enable PWR and BKP clocks / RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); / Reset RTC Backup Domain / RCC_RTCResetCmd(ENABLE); RCC_RTCResetCmd(DISABLE); / Allow access to rtc / PWR_RTCAccessCmd(ENABLE); / Enable LSE / RCC_LSEConfig(RCC_LSE_ON); / Wait till LSE is ready / while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) {} / Select LSE as RTC Clock Source / RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); / Enable RTC Clock / RCC_RTCCLKCmd(ENABLE); / Wait for RTC registers synchronization / RTC_WaitForSynchro(); / Configure the RTC data register and RTC prescaler / RTC_InitStructure.RTC_AsynchPrediv = 0x7F; RTC_InitStructure.RTC_SynchPrediv = 0xFF; RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; RTC_Init(&RTC_InitStructure); Set_DateTime(); } u8 RtcInit(void) { //检查是不是第一次配置时钟 u8 flag = 0; if (RTC_ReadBackupRegister(RTC_BKP_DR0) != 0xA55A) //从指定的后备寄存器中读出数据:读出了与写入的指定数据不相乎 { / RTC configuration / RTC_Configuration();
} else { / Enable the PWR clock / RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); / Allow access to RTC / PWR_RTCAccessCmd(ENABLE); / Wait for RTC APB registers synchronisation / RTC_WaitForSynchro(); }
return 0; //ok } |
看到STM8L152用两个IO用两个或非门检测两个通断,是什么原理?
单片机的AD通道是否具有内部放大功能?
STM32L152配段码屏
ASDFKSDLKFA;LK
使用 X-NUCLEO-SAFEA1运行历程All_Use_Cases所有返回都是48怎么解决?
STM32L151 低功耗运行模式,CPU是处于正常运行状态吗?
串口连续接收同时写入FLASH数据不全
STM32L151RET6 的官方功耗数据是基于内部晶振还是外部晶振
如何利用timer对一个频率变化范围比较广的中低频脉冲信号进行精确脉冲长度/周期/频率测定
多路ADC使用DMA模式有没有教程呀,芯片STM32L151
我设置的初始时间是2021-12-12 8:0 程序运行一段时间复位后,并没有重新设置时间,但是还是从这个时间开始计数,这是为什么?
楼主您好,先确认是否写入到DR0中数据,另外复位时,RTC是否有持续的供电。如果确认走的是if (RTC_ReadBackupRegister(RTC_BKP_DR0) != 0xA55A)这个支路,重新配置一下RTC。现在手头没有板子帮忙测试,只能远程帮忙测试。执行一下PWR_RTCAccessCmd(ENABLE);
[md]首先谢谢你的回复,程序复位后是先去判读DR0中数据,数据判断是正确的,没有执行重新配置时间。但是使用RTC_GetTime和RTC_GetDate 是从开始设置的时间走的
[md]因为你初始值是这个,复位之后程序会从最开始初始值这个数据开始呢
通过串口打印,发现,RTC_ReadBackupRegister(RTC_BKP_DR10) 读出的数据,不是写入的数据。就是说写入的数据时没有成功,但是debug调试时,可以看到写入成功了,读出的也一样。但是程序一reset就不一样了,很奇怪
其他的芯片有VBAT引脚,这个必须有电才行。151我查资料,在下面几种情况下回发生数据丢失。外部按键reset理论不会丢失,如果是power reset就会丢失。
The RTC peripheral, RTC clock source selection (in RCC_CSR) and the backup registers are reset only when one of the following events occurs: 1.A software reset, triggered by setting the RTCRST bit in the RCC_CSR register (see Section 6.3.14) 2. Power reset (BOR/POR/PDR)