找回密码
 立即注册
查看: 518|回复: 6

在用8H4K64TL,按键唤醒掉电模式会偶尔碰到自行复位两次的问题,请求社友帮分析

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-29 11:47:19
已绑定手机

13

主题

31

回帖

287

积分

中级会员

积分
287
发表于 2024-9-21 10:43:08 | 显示全部楼层 |阅读模式
本帖最后由 DebugLab 于 2024-9-21 12:41 编辑

问题描述:
系统时钟24MHZ
数码管显示
开看门狗,看门狗计数器在掉电模式下是停止的,看门狗溢出时间5秒左右(256分频)
MCU 休眠是掉电模式,按键唤醒后通过指令执行软件复位,此时偶尔 (20%)的几率,会出现重复复位2次 才进入正常运行(现象就是,开机显示开机画面后,又复位从头再来一次)。只会重复2次,没有超过2次的情况。

上电没有这个问题,都是出现在休眠掉电模式按键唤醒后。
截几段代码,请社友帮分分析下哪里有问题:
1.程序开始
1726885469335.png



2,重复复位发生的位置:
1726885855469.png




3. 有个延时程序,在出问题的地方只是1秒。

1726885940683.png


4,看门狗初始化如下:

1726886044701.png


5.休眠前有喂狗

1726886170775.png
1726886216774.png


请社友帮看看,哪里疏忽了{:5_300:}
我现在怀疑是看门狗作怪,但是休眠前有喂狗,指令软件复位后,开头那小段运行不可能超过5秒的,为什么会复位呢?










回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-9-21 12:43:03 | 显示全部楼层
复位之前再喂狗一下,看看是不是看门狗的问题
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-29 11:47:19
已绑定手机

13

主题

31

回帖

287

积分

中级会员

积分
287
发表于 2024-9-22 10:43:38 | 显示全部楼层
Debu*** 发表于 2024-9-21 12:43
复位之前再喂狗一下,看看是不是看门狗的问题

多谢建议!只是再次喂狗还不行的,我再次读芯片手册,找到原因了:
截图202409221035227789.jpg

软件复位后,看门狗的寄存器溢出时间复位到了初始值,大概39毫秒左右,所以我的程序出现了二次复位。
看来,芯片手册需要不断重复读/

点评

停止看门狗必须断电,软件复位无法停止看门狗,看门狗一旦开启,只要有电就会一直运行  详情 回复 发表于 2024-9-22 21:34
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-9-22 21:34:42 | 显示全部楼层
蒋*** 发表于 2024-9-22 10:43
多谢建议!只是再次喂狗还不行的,我再次读芯片手册,找到原因了:

停止看门狗必须断电,软件复位无法停止看门狗,
看门狗一旦开启,只要有电就会一直运行
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2024-12-02 14:21:39
已绑定手机

1

主题

11

回帖

65

积分

注册会员

积分
65
发表于 2024-12-2 14:19:20 | 显示全部楼层
Debu*** 发表于 2024-9-22 21:34
停止看门狗必须断电,软件复位无法停止看门狗,
看门狗一旦开启,只要有电就会一直运行
...

借楼
请问大佬能否设置软件复位(IAP_CONTR)寄存器的SWBS位为1,然后启动看门狗,以达到看门狗复位后,用户数据区的数据保持不变的目的

点评

可以,但要注意STARTUP.A51默认会软件初始化data 注意看门狗一旦打开软件无法关闭只能断电关闭  详情 回复 发表于 2024-12-2 14:30
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-12-2 14:30:01 | 显示全部楼层
Emmet*** 发表于 2024-12-2 14:19
借楼
请问大佬能否设置软件复位(IAP_CONTR)寄存器的SWBS位为1,然后启动看门狗,以达到看门狗复位后, ...

可以,但要注意STARTUP.A51默认会软件初始化data
注意看门狗一旦打开软件无法关闭只能断电关闭
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2024-12-02 14:21:39
已绑定手机

1

主题

11

回帖

65

积分

注册会员

积分
65
发表于 2024-12-2 14:33:04 | 显示全部楼层
Debu*** 发表于 2024-12-2 14:30
可以,但要注意STARTUP.A51默认会软件初始化data
注意看门狗一旦打开软件无法关闭只能断电关闭 ...

好的感谢
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 01:48 , Processed in 0.147694 second(s), 100 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表