STM32F103 幾個特殊引腳做普通io使用注意事項以及備份寄存器丟失數據問題1,2

stm32F103C8T6芯片 

備份寄存器數據丟失兩種可能:

1、觸發了入侵中斷

PC13 做爲普通IO使用時 要禁用入侵中斷功能,否則會導致備份寄存器數據在關機,在啓動的時候數據丟失,(可以查閱其他文章,不詳解)

2、  芯片VBAT 在關機的時候掉電. 如果需要備份寄存器在關機的時候保存數據,那麼VBAT需要接到鈕釦電池,如果關機之後VBAT也掉電,備份寄存器是無法保存的,當時我就是好奇爲什麼備份寄存器數據總是丟失,之後發現是VBAT的原因,後來改成了 flash存儲的數據,做法:關機的時候觸發 低電壓中斷,然後保存數據到flash.(一般用MCU內部的flash 存儲的話,100uF 足夠512字節存儲)

 

下面是幾個特殊引腳的說明:

1、PC13   RTC

入侵功能介紹:

 侵入檢測功能分析:功能數據備份。

1 BKP_CR的TPAL位,設定決定TAMPER引腳的信號由0變1或是又1變0爲有效觸發信號,產生侵入檢測事件置位標誌 位(BKR_CSR 的TEF)。

2 侵入檢測事件後會將所有數據備份寄存器復位。

3 注意一點的是:在BKP_CR的TPE位允許使能之前,一當有侵入檢測引腳產生的侵入檢測事件也是有效的。這一點有利 於更好的保護數據。

4.一當TPAL=0(或1),如果在在BKP_CR的TPE位允許(侵入檢測引腳允許位)使能之前TPAL=1(或0),則一旦允許了侵入檢測功能,則會產生一個額外的侵入事件。儘管BKP_CR的TPE(侵入檢測引腳允許位)位爲1後併爲出現新的沿跳變

5 在一個侵入檢測事件被檢測到並被清零後,侵入檢測引腳應該要禁止掉。當再次在想寫數據備份寄存器之前重新設置BKP_CR的TPE位(侵入檢測引腳允許位)。這樣可以避免侵入檢測引腳上仍有侵入檢測事件產生時,不斷的對數據備份寄存器寫操作。

6VDD電源斷開時, 侵入檢測功能仍有效,位了避免不必要的數據備份寄存器復位,TAMPER引腳外部應連接到正確的電平上。

 

初始化IO的時候加上這句號:     

      PWR_BackupAccessCmd( ENABLE );/* 允許修改RTC和後備寄存器*/
     RCC_LSEConfig(RCC_LSE_OFF);//關閉外部低速外部時鐘信號功能 後,PC13 PC14 PC15 纔可以當普通IO用。
     BKP_TamperPinCmd(DISABLE);  /* 關閉入侵檢測功能,PC13可以用作普通IO*/
     BKP_ITConfig(DISABLE);       /* 禁止TAMPER 中斷*/

 

2、 PA13  PA14  PA15   這三個腳默認是  JTAG腳 ,就算是按照普通IO進行初始化也是不可以正常用的需要添加

    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

則可以當做正常IO使用

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章