新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > stm32 BKP寄存器操作操作寄存器+庫函數

        stm32 BKP寄存器操作操作寄存器+庫函數

        作者: 時間:2016-11-09 來源:網絡 收藏
        BKP是“BACKUP”的縮寫,stm32f103RCTE的內部配備了10個16位寬度的BKP寄存器。在主電源切斷或系統(tǒng)產生復位時間時,BKP寄存器仍然可以在備用電源的支持下保持其內容。
        BKP在實際應用中可以存入重要數據,防止被惡意查看,或用于斷電等。
        本例實現(xiàn)對BKP寄存器的讀寫操作,和入侵檢測和處理。主程序中寫入寄存器后,依次打印出10個BKP寄存器數據,然后觸發(fā)GPIOC13的入侵中斷(輸入低電平),在中斷中打印出入侵事件發(fā)生后的寄存器內容(復位為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:開啟侵入檢測引腳作為侵入檢測使用
        備份控制/狀態(tài)寄存器(BKP_CSR):

        本文引用地址:http://www.104case.com/article/201611/318036.htm
        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:侵入中斷無法將系統(tǒng)內核從低功耗模式喚醒。 注2:僅當系統(tǒng)復位或由待機模式喚醒后才復位該位。
        CTI[1]:清除侵入檢測中斷(Clear tamper interrupt)
        0:無效 1:清除侵入檢測中斷和TIF侵入檢測中斷標志
        CTE[0]:清除侵入檢測事件(Clear tamper event)
        0:無效 1:清除TEF侵入檢測事件標志(并復位侵入檢測器)。
        要寫入BKP寄存器數據必須在 PWR->CR中取消備份區(qū)寫保護,才可以寫入BKP數據。stm32開啟入侵檢測也不需要設置GPIOC的時鐘和輸入輸出模式。
        代碼如下:(system.h 和stm32f10x_it.h等相關代碼參照stm32 直接操作寄存器開發(fā)環(huán)境配置)
        User/main.c
        Library/src/bkp.c
        Library/inc/bkp.h
        stm12f10x_it.c
        }



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 厦门市| 河东区| 新巴尔虎左旗| 互助| 沧州市| 马山县| 离岛区| 阜南县| 浏阳市| 玛沁县| 呼图壁县| 南丰县| 崇州市| 凤山市| 香河县| 土默特左旗| 岳阳市| 宜城市| 沧源| 民乐县| 湄潭县| 余庆县| 安乡县| 濮阳县| 大连市| 澄江县| 大渡口区| 东莞市| 浦北县| 长海县| 博罗县| 迁安市| 增城市| 新干县| 青河县| 聊城市| 江川县| 彰化市| 海安县| 临沂市| 正安县|