所以封装的设置时钟的函数RTC_Set(),就是求得设定的时间与1970年1月1日 00:00:00之间的秒数,然后通过RTC_SetCounter()函数,写入RTC_CNT寄存器即可。 注意 每次操作RTC_CNT时应该要使能PWR 和 BKP 时钟,允许访问BKP域,否则会操作失败。 /* Enable PWR and BKP clocks*/RCC_APB1PeriphClockCmd(RCC_APB1Peri...
void RTC_SetPrescaler(uint32_t PrescalerValue);//预分频配置:PRLH/PRLL void RTC_SetCounter(uint32_t CounterValue);//设置计数器值:CNTH/CNTL void RTC_SetAlarm(uint32_t AlarmValue);//闹钟设置:ALRH/ALRL RTC中断设置函数: void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState);//CRH ...
void RTC_SetCounter(uint32_t CounterValue) { RTC_EnterConfigMode(); /* Set RTC COUNTER MSB word */ RTC->CNTH = CounterValue >> 16; /* Set RTC COUNTER LSB word */ RTC->CNTL = (CounterValue & RTC_LSB_MASK); RTC_ExitConfigMode(); } /** * @brief Gets the RTC counter value. ...
通过串口设置RTC计数寄存器的值,printf()向串口助手发送信息,USART_Scanf()函数接收来自串口助手的消息。USART的数据帧使用8位有效数据。 调用 调用 调整时间Time_Adjust() 设置RTC计数寄存器设RTC_SetCounter() 获取来自串口的数据USART_Scanf() 串口修改RTC程序代码: /** * @brief 调整时间 * @param none * @...
BKP_SetRTCCalibrationValue 设置 RTC 时钟校准值 BKP_WriteBackupRegister 向指定的后备寄存器中写入用户程序数据 BKP_ReadBackupRegister 从指定的后备寄存器中读出数据 BKP_GetFlagStatus 检查侵入检测管脚事件的标志位被设置与否 BKP_ClearFlag 清除侵入检测管脚事件的待处理标志位 BKP_GetI...
if (RTC_GetCounter() == 0x00015180) //获取RTC计数器的值 RTC_SetCounter(0x0);//设置RTC计数器的值 通过读取RTC计数器的值,可以将其转化为时:分:秒的形式打印出来。 同时,如果RTC是第一次被配置,用户需要输入时间,然后调用Time_Adjust( )将用户输入的时间转化到RTC计数值写到相应的寄存器中。
(ALM_Flag == 0) { ALM_Flag = 1; } else { ALM_Flag = 0; } /*重新设置闹钟时间*/ RTC_WaitForLastTask();//等待上一次写操作完成 RTC_SetCounter(0);//配置当前时间 RTC_WaitForLastTask();//等待上一次写操作完成 RTC_SetAlarm(2);//配置闹钟时间 RTC_WaitForLastTask();//等待上一次写操作...
调用函数RTC_SetCounter(); 函数里面的参数可通过计算获得如下图 配置闹钟 调用函数RTC_SetAlarm(); 函数里面的参数和时钟相同 代码编写 (F1可直接拷贝使用) #include "stm32f10x.h" #include "usart.h" uint32_t TimeDisplay; u32 Set_RTCTIME(u8 Hour,u8 Minute,u8 Sec); void NVIC_Configuration(void...
void RTC_SetCounter(uint32_t CounterValue);//设置计数器值:CNTH/CNTL void RTC_SetAlarm(uint32_t AlarmValue);//闹钟设置:ALRH/ALRL RTC中断设置函数: void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState);//CRH RTC配置函数:
利用RTC_SetCounter可以向RTC的计数器写入新数值,通常这些数值被设置为时间戳以更新时间。 RTC_GetCounter函数则用于在RTC正常运行时获取当前计数器的值以获取当前时间。 RTC_SetAlarm函数用于配置闹钟时间,当计数器的值与闹钟寄存器的值相等时, 可产生闹钟事件或中断,该事件可以把睡眠、停止和待机模式的STM32芯片唤醒...