STM32之BKP

VBAT备用电源。接的时候和主电源共地,正极接在一起,中间连接一个100nf的电容。BKP是RAM存储器。

四组VDD都要接到3.3V的电源上,要使用备用电池,就把电池正极接到VBAT,负极跟主电源共地。

TEMPER引脚先加一个默认的上拉或者下拉电阻,然后引一根线到设备外壳的防拆开关或触点。别人一拆开外壳就产生上升沿或者下降沿,这样STM32就检测到侵入事件了,此时BKP的数据会自动清零,并且申请中断。在中断里可以继续保护设备。比如清除其他寄存器数据,然后设备锁死。另外,主电源断电后,侵入检测依然有效。这样即使设备关机,也能防拆。

RTC时钟输出功能:RTC校准时钟可以对内部的RTC的微小误差校准,然后,闹钟脉冲或者秒脉冲,可以输出出来为别的设备提供这些信号。

三个共用一个引脚,每次只能使用一个。

BKP有三个如上图的功能。

可选三路,一般选LSE32.768KHz,LSE32.768KHz晶振一般用来给RTC提供脉冲RTCCLK,到32位可编程计数器的时钟频率是1Hz,RTCCLK需要分频才能进入RTC_CNT,所以RTC预分频器的分频系数很大。

RTC预分频器的工作原理:

RTC_PRL就是重装载值,RTC_DIV就是一个自减计数器,如果输入的脉冲RTCCLK是32768Hz,为了分频之后得到1Hz,RTC_PRL的值就是32768-1,RTC_DIV的值是0,当第一个脉冲来时,DIV就立刻溢出,同时DIV变为32767,第二个时钟,DIV变为32766,自减到零就重装为32767,32位可编程计数器RTC_CNT就是时间戳的秒计数器,RTC_ALR的作用是设定闹钟,当RTC_ALR=RTC_CNT时,闹钟就响。闹钟可退出待机模式。RTC_Second,RTC_Overflow,RTC_Alam是三个触发中断的信号,RTC_Second是秒中断,RTC_Overflow溢出中断,RTC_CNT计满溢出产生中断,这个中断一般不会触发。RTC_Alam是闹钟中断。

RTC_CR里是中断标志位和中断控制,F结尾的是中断标志位,E结尾的是中断使能。最后通过或门到NVIC

APB1总线和APB1接口是程序读写寄存器的部分。

WKUP引脚就是唤醒设备的地方。


相关推荐
-Springer-7 分钟前
STM32 学习 —— 个人学习笔记9-3(FlyMcu 串口下载)
笔记·stm32·学习
测试专家2 小时前
USB 3.0,USB速率
单片机·嵌入式硬件
昵称只能一个月修改一次。。。2 小时前
嵌入式硬件编程
单片机·嵌入式硬件
FPGA-ADDA2 小时前
第四篇:嵌入式系统常用通信接口详解(I2C、SPI、UART、RS232/485、CAN、USB)
人工智能·单片机·嵌入式硬件·fpga开发·信息与通信
我不是程序猿儿3 小时前
【嵌入式】编码器分类
单片机·嵌入式硬件
给点sun,就shine3 小时前
电阻的作用
单片机·嵌入式硬件
CODE_RabbitV3 小时前
【3min 解决】keil5 编译stm32 出现一堆 core_cm3.c 报错问题
c语言·stm32·嵌入式硬件
FreakStudio3 小时前
MicroPython+PycoClaw,3 分钟搞定 ESP32 跑上 OpenClaw!
python·单片机·嵌入式·电子diy
【 STM32开发 】3 小时前
【STM32 + CubeMX 教程】RTC 实时时钟 之 闹钟唤醒 -- F407篇
stm32·嵌入式硬件·实时音视频
BT-BOX3 小时前
第6章《Stm32CubeMX+Proteus仿真入门》LCD1602显示
stm32·嵌入式硬件·proteus