STM32 RTC(四)软件编程

文章介绍了如何在STM32中配置RTC(实时时钟)和BKP(备份寄存器)。首先,需要开启RTC和BKP的访问权限,然后开启LSE外部低速振荡器并等待其稳定。接着,配置RTC时钟源和预分频器以得到所需的时间精度。此外,还展示了如何写入和读取BKP备份寄存器以及如何利用时间戳设置和读取RTC时间。通过BKP_DR的值判断是否已初始化RTC,避免复位后重新初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、BKP

RTC与备份寄存器BKP一般复位后,为了防止篡改备份数据,默认都是禁止访问的,如果想要访问,就要手动开启。
首先,来介绍一下BKP库函数

重新初始化BKP,使之恢复默认值,当你VDD、VBAT不断电,但你想要复位时使用
void BKP_DeInit(void);

防入侵配置
void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel);

使能防入侵
void BKP_TamperPinCmd(FunctionalState NewState);

BKP中断配置
void BKP_ITConfig(FunctionalState NewState);

RTC输出配置
void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource);

设置RTC校准值
void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue);

写入BKP_DR
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);

读出BKP_DR的值
uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);

想要使用BKP很简单,只需要开启PWR与BKP的时钟,当然,除了这,你想要读写BKP,还需要使能BKP的访问。下方几行代码就是BKP的简单使用了

	uint16_t DR_Value;
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE);
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);

	PWR_BackupAccessCm
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值