TWDT误触发通常不是看门狗本身问题,而是某段代码长时间关中断或屏蔽调度导致idle任务无法喂狗。建议按以下步骤定位:1) 在idle钩子中记录进入/退出时间戳,并统计最大间隔,确认是否超过TWDT超时(默认5s);2) 用esp_timer或GPIO翻转在关键临界区前后打点,重点检查portENTER_CRITICAL、taskENTER_CRITICAL、spinlock、Flash操作(spi_flash_write/erase)以及Wi-Fi/BT中断处理;3) 双核场景下确认TWDT是否配置为两个核都监控,若只监控一个核,另一核长时间关中断仍可能拖垮共享资源;4) 将长临界区拆分为短段,Flash操作放到单独任务并避免在临界区内调用;5) 必要时临时调大TWDT超时仅用于验证,最终必须修复关中断时长。注意:idle钩子本身运行在idle任务上下文,不要在其中做阻塞操作。