ESP32開發(7) RTC記憶體 備份暫存器

2021-09-24 04:49:34 字數 728 閱讀 8601

開發產品時,我們可能需要對程式做一些錯誤處理,比如在必要時進行軟體復位,但是我們又不想復位某些重要的暫存器值,這時,我們就需要用到備份暫存器。

esp32在深度睡眠下,rtc外設依然可以正常工作,那我們是否可以嘗試將一些非常重要的資料備份到rtc記憶體中呢?當程式執行錯誤,需要進行軟體復位時,這些資料不會隨著主cpu復位而產生丟失。

驗證思路很簡單,當第一次讀取rtc_memory_crc_reg時,reg_value為0,程式內部軟體復位以後,reg_value為123456,只要不手動硬體復位, reg_value就不會回到0。

#include

#include

"freertos/freertos.h"

#include

"freertos/task.h"

#include

"esp_log.h"

#include

"esp_sleep.h"

#include

"soc/soc.h"

#include

"soc/rtc_cntl_reg.h"

#include

"rom/rtc.h"

#include

"esp_assert.h"

static

const

char

*tag =

;void

(void

)}

ESP32無線模組開發

最近在做一款低功耗裝置,soc選用上海樂鑫科技的一款esp32 wifi模組。樂鑫官網。esp32是整合了2.4ghz wifi和藍芽雙模組的單晶元方案,專為移動裝置 可穿戴裝置和物聯網應用而設計。在功能簡單的使用環境下具有很好的實用性,且操作簡單,esp32提供針對不同環境下的低功耗方案,功能框圖...

使用MicroPython開發ESP32網路開發

micropython庫分為三部分。一部分是把基礎python中常用的庫結合硬體特典重新實現的,為了做區分這部分庫在命名上稍有改變,比如原版的 json 模組在micropython中改名為 ujson 不過在使用的時候用 json 和 ujson 兩個名稱都可以。micropython庫第二部分是...

ESP32 記憶體洩漏Debug方法

esp32 是espressif設計的,在物聯網應用中非常流行的 wi fi bluetooth ble 雙模晶元,其開源idf的方式也在開發者社群 github 具有重要的影響力。對於程式設計而言,也相當友好。而記憶體洩漏作為乙個非常常見的問題被相當多的朋友遇到,它關乎 邏輯是否正確 以及最重要的...