您的位置 首页 产品

stm32 BKP寄存器操作操作寄存器+库函数

BKP是BACKUP的缩写,stm32f103RCTE的内部配备了10个16位宽度的BKP寄存器。在主电源切断或系统产生复位时间时,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)
注1:侵入中止无法将体系内核从低功耗形式唤醒。 注2:仅当体系复位或由待机形式唤醒后才复位该位。
CTI[1]:铲除侵入检测中止(Clear tamper interrupt)
0:无效 1:铲除侵入检测中止和TIF侵入检测中止标志
CTE[0]:铲除侵入检测事情(Clear tamper event)
0:无效 1:铲除TEF侵入检测事情标志(并复位侵入检测器)。
要写入BKP寄存器数据有必要在 PWR->CR中撤销备份区写保护,才能够写入BKP数据。stm32敞开侵略检测也不需要设置GPIOC的时钟和输入输出形式。
代码如下:(system.h 和stm32f10x_it.h等相关代码参照stm32 直接操作寄存器开发环境装备)
User/main.c
Library/src/bkp.c
Library/inc/bkp.h
stm12f10x_it.c
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/277433.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部