stm32 BKP 寄存器操作操作寄存器+库函数
BKP 是BACKUP 的缩写,stm32f103RCTE 的内部配备了10 个16 位宽度
的BKP 寄存器。
在主电源切断或系统产生复位时间时,BKP 寄存器仍然可以
在备用电源的支持下保持其内容。
BKP 在实际应用中可以存入重要数据,防止
被恶意查看,或用于断电等。
本例实现对BKP 寄存器的读写操作,和入侵检
测和处理。
主程序中写入寄存器后,依次打印出10 个BKP 寄存器数据,然后
触发GPIOC13 的入侵中断(输入低电平),在中断中打印出入侵事件发生后的
寄存器内容(复位为0 )。
直接操作寄存器用到的寄存器描述如下:备份数据
寄存器x(BKP_DRx) (x = 1 10):低16 位[15:0]有效,用来写入或读出备份数据。
备份控制寄存器(BKP_CR):低两位有效。
TPAL[1]:侵入检测TAMPER
引脚有效电平(TAMPER pin active level)0:侵入检测TAMPER 引脚上的高电平会清除所有数据备份寄存器(如果TPE 位为1) 1:侵入检测TAMPER 引脚
上的低电平会清除所有数据备份寄存器(如果TPE 位为1)TPE[0]:启动侵入检
测TAMPER 引脚(TAMPER pin enable)0:侵入检测TAMPER 引脚作为通用IO 口使用1:开启侵入检测引脚作为侵入检测使用备份控制/状态寄存器
(BKP_CSR):
TIF[9]:侵入中断标志(Tamper interrupt flag) 0:无侵入中断1:产生侵入中断当检测到有侵入事件且TPIE 位为1 时,此位由硬件置1。
通过向CTI 位
写1 来清除此标志位(同时也清除了中断)。
如果TPIE 位被清除,则此位也会被
清除。
TEF[8]:侵入事件标志(Tamper event flag) 0:无侵入事件1:检测到侵入事件当检测到侵入事件时此位由硬件置1。
通过向CTE 位写1 可清除此标
志位TPIE[2]:允许侵入TAMPER 引脚中断(TAMPER pin interrupt enable)0:禁止侵入检测中断1:允许侵入检测中断(BKP_CR 寄存器的TPE 位也必须被置1)注。