(69)咱们的 csdn 网站上,也有很多很好的文章, 谢谢您们
这里仅仅做少量的补充

++ Vbat 不接电池时,手册建议与 VDD 连接在一起,并接 100nf 的滤波电容。

++

++

++

+++

++

++

(70)

++

++

++

++

(71) BKP 库函数:
c
void BKP_DeInit(void); //恢复缺省配置,手动清空 BKP 所有的数据寄存器
void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel);
//用于配置 TAMPER 侵入检测功能,高电平还是低电平触发
void BKP_TamperPinCmd(FunctionalState NewState); //是否开启侵入检测功能
void BKP_ITConfig(FunctionalState NewState); //中断配置,是否开启中断。侵入中断,或者侵入事件
void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource); // 这几个函数,老师说咱们课上暂时不用
//时钟输出功能配置,可以选择在 RTC 引脚上输出时钟信号,输出 RTC 校准时钟、 RTC 闹钟脉冲或者秒脉冲
void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue);
//设置 RTC 校准值,其实就是写入 RTC 校准寄存器
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data); // (BKP_DRx) (x= 1 ... 10), 20 个字节
//写备份寄存器,第一参数指定卸载哪个 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);
(72) PWR 库函数 :
c
void PWR_DeInit(void);
void PWR_BackupAccessCmd(FunctionalState NewState); // 备份寄存器访问使能
// 目前只学习这一个
void PWR_PVDCmd(FunctionalState NewState);
void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
void PWR_WakeUpPinCmd(FunctionalState NewState);
void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
void PWR_EnterSTANDBYMode(void);
FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
void PWR_ClearFlag(uint32_t PWR_FLAG);
(73)例题 12 -2 ,读取 BKP 寄存器的相关知识点 :

(74)例题 12-3 , RTC 时钟 :
++ 先是 RTC 时钟源方面的库函数 :

++ 再是 RTC 方面的库函数 :

++ 注释版 :

++ 补充上面一个函数的使用 :

++

++ 代码部分 :

++ 以及 :

++ 补充 stm32 里的 time . h 头文件的特有含义 :

(75)
(76)
(77)
谢谢