打印
[STM32F1]

看不出程序重新复位的迹象?

[复制链接]
1735|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxrs|  楼主 | 2021-11-20 22:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在的看门狗初始化是:

WDTCTL = WDTPW+WDTCNTCL+WDTSSEL+WDTIS0; (WDTCTL = WDT_ARST_250;)

IE1|=WDTIE;

每次主循环末尾刷新看门狗:WDTCTL = WDTPW+WDTCNTCL+WDTSSEL+WDTIS0;

我想实现当程序跑飞时的看门狗复位,比如当判断某些标志不正确时,看门狗复位。怎么做?

例如:我现在想试试看按左键程序时,程序复位。我加了WDTCTL=WDTPW+WDTCNTCL+WDTSSEL;

可是怎么看不出程序重新复位的迹象?

使用特权

评论回复
沙发
ousj| | 2021-11-20 22:36 | 只看该作者
看门狗实现的这种复位是不是让程序从main()最开头重新执行?

使用特权

评论回复
板凳
chenjunt| | 2021-11-20 22:38 | 只看该作者
可以在你关注的执行那里设置标记,每次喂够之前判断这些标记是否正常,如果正常,那么喂狗,如果不正常跳过喂够。这样就可以啦。

使用特权

评论回复
地板
morrisk| | 2021-11-20 22:41 | 只看该作者
看门狗实现的这种复位是不是让程序从main()最开头重新执行?所有寄存器都回到初始值?

使用特权

评论回复
5
llljh| | 2021-11-20 22:43 | 只看该作者
复位是不是基本上看不出来?时间很快

使用特权

评论回复
6
yinxiangh| | 2021-11-20 22:46 | 只看该作者
复位后I/O口OUT不变 DIR不是都清零了吗?

使用特权

评论回复
7
houcs| | 2021-11-20 22:48 | 只看该作者
环环相扣与冷热启动判断就能解决你的问题啦..

使用特权

评论回复
8
pangb| | 2021-11-20 22:50 | 只看该作者
你得在你看门狗周期内,喂狗才行的。

使用特权

评论回复
9
ousj| | 2021-11-20 22:52 | 只看该作者
程序复位还是能够看到的..

使用特权

评论回复
10
morrisk| | 2021-11-20 22:58 | 只看该作者

配置一个输出函数试试。

使用特权

评论回复
11
dengdc| | 2021-11-20 22:59 | 只看该作者
搞个标记嘛,看门狗复位后会有标志位的。你每次判断完增标志位就清掉。然后通过LED显示到底发生没。

使用特权

评论回复
12
stly| | 2021-11-20 23:01 | 只看该作者
在适当的地方喂狗

使用特权

评论回复
13
pengf| | 2021-11-20 23:03 | 只看该作者
为什么要复位呀

使用特权

评论回复
14
jiajs| | 2021-11-20 23:05 | 只看该作者
感觉代码的位置怪怪的

使用特权

评论回复
15
xxrs|  楼主 | 2021-11-20 23:07 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
16
coshi| | 2021-12-11 10:56 | 只看该作者
并不赞成开启看门狗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝