本章節功能利用備份寄存器(BKP)實現數據的掉電保存,并通過按鍵和OLED顯示屏進行交互。
使能電源(PWR)和備份域(BKP)的時鐘( RCC_APB1PeriphClockCmd ?函數),并使能對備份域的訪問( PWR_BackupAccessCmd(ENABLE) ),為操作備份寄存器做準備。
在 ?while循環中當檢測到按鍵值 ?KeyNum == 1??時,將數組 ?ArrayWrite??的兩個元素分別加 1,然后通過 ?BKP_WriteBackupRegister??函數將這兩個元素寫入備份寄存器 ?BKP_DR1??和 ?BKP_DR2?,同時在 OLED 屏對應位置顯示當前要寫入的十六進制數據。之后,通過 BKP_ReadBackupRegister ?函數從備份寄存器 BKP_DR1 ?和 BKP_DR2 ?中讀取數據到 ArrayRead ?數組,再調用 OLED_ShowHexNum ?函數在 OLED 屏上顯示讀取到的十六進制數據。這樣即使單片機掉電,備份寄存器中的數據也能保留,實現了數據的掉電保存功能,下次上電后仍可讀取到之前保存的數據。