machine.deepsleep()唤醒报rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)?

import machine
import time

# 初始化RTC用于在深度睡眠间保存数据
rtc = machine.RTC()

# 定义任务函数
def task1():
    print("执行任务1")
    # 这里添加任务1的具体操作
    # 比如读取传感器、控制GPIO等

def task2():
    print("执行任务2")
    # 这里添加任务2的具体操作
    # 比如发送数据、改变状态等

# 检查唤醒原因
if machine.reset_cause() == machine.DEEPSLEEP_RESET:
    # 从RTC内存读取状态
    state = rtc.memory()
    print("从深度睡眠唤醒,之前状态:", state)
    
    if state == b'\x00':
        task1()
        new_state = b'\x01'
    else:
        task2()
        new_state = b'\x00'
else:
    # 首次启动时执行任务1
    print("冷启动")
    task1()
    new_state = b'\x01'

# 保存新状态到RTC内存
rtc.memory(new_state)

# 设置深度睡眠30秒(30000毫秒)后唤醒
print("进入深度睡眠...")
machine.deepsleep(30000)

运行结果:
冷启动
执行任务1
进入深度睡眠...
ets Jul 29 2019 12:21:46

rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4540
ho 0 tail 12 room 4
load:0x40078000,len:12344
ho 0 tail 12 room 4
load:0x40080400,len:4124
entry 0x40080680
MicroPython v1.19.1 on 2022-06-18; ESP32 module with ESP32
Type "help()" for more information.

阅读 422
1 个回答

找到原因了,没把代码上传到esp32

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题