赞
踩
开发产品时,我们可能需要对程序做一些错误处理,比如在必要时进行软件复位,但是我们又不想复位某些重要的寄存器值,这时,我们就需要用到备份寄存器。
ESP32在深度睡眠下,RTC外设依然可以正常工作,那我们是否可以尝试将一些非常重要的数据备份到RTC内存中呢?当程序运行错误,需要进行软件复位时,这些数据不会随着主CPU复位而产生丢失。
验证思路很简单,当第一次读取RTC_MEMORY_CRC_REG时,REG_VALUE为0,程序内部软件复位以后,REG_VALUE为123456,只要不手动硬件复位, REG_VALUE就不会回到0。
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。