本章将介绍一种计数计时的外设 RTC实时时钟-----Whappy

STM32提供了4中时钟来源!



函数名 | 功能作用 |
---|---|
void BKP_DeInit(void); |
复位备份区域寄存器配置,将备份域的所有寄存器恢复到默认状态。 |
void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel); |
配置篡改引脚的电平(高电平或低电平),用于检测篡改事件。 |
void BKP_TamperPinCmd(FunctionalState NewState); |
启用或禁用篡改引脚的功能。如果启用,硬件将监测篡改事件。 |
void BKP_ITConfig(FunctionalState NewState); |
启用或禁用备份区域的中断功能。启用后,当发生相关事件时会触发中断。 |
void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource); |
配置RTC(实时时钟)输出源,可以选择输出不同的RTC信号。 |
void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue); |
设置RTC的校准值,用于调整时钟频率,以补偿时钟偏差。 |
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data); |
向备份寄存器(例如,BKP_DR)写入数据,可以用于保存数据在掉电后的持久存储。 |
uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR); |
从备份寄存器读取数据,读取已保存的值。 |
FlagStatus BKP_GetFlagStatus(void); |
获取备份区域的标志状态,通常用于检查是否发生了特定事件(如篡改)。 |
void BKP_ClearFlag(void); |
清除备份区域的标志,通常用于在事件处理后清除相应的标志。 |
ITStatus BKP_GetITStatus(void); |
获取备份区域中断的状态,检查中断是否被触发。 |
void BKP_ClearITPendingBit(void); |
清除备份区域中断挂起位,以便为下次中断做好准备。 |
说明:
- BKP: 通常指的是备份寄存器区(Backup Registers),这些函数用于操作和管理STM32等微控制器中的备份寄存器。
- FunctionalState : 用于启用(
ENABLE
)或禁用(DISABLE
)某些功能的枚举类型。 - FlagStatus : 用于表示标志的状态,通常是
SET
或RESET
。 - ITStatus : 用于表示中断的状态,通常是
SET
或RESET
。
代码太简单!!!自己实现!简单实验:验证读取写入的数据在掉电的时候是否丢失