打印

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

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

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

IE1|=WDTIE;

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


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

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

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

相关帖子

沙发
heweibig|  楼主 | 2018-5-9 15:25 | 只看该作者
看门狗实现的这种复位是不是让程序从main()最开头重新执行?所有寄存器都回到初始值?

使用特权

评论回复
板凳
wuhany| | 2018-5-9 15:29 | 只看该作者

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

WDTCTL=WDTPW+WDTCNTCL+WDTSSEL; 的意思是看门狗计数器清0.你要看看你的按键程序是死循环吗?要不把你的程序发出来看看.我的看门狗工作的可正常了.

使用特权

评论回复
地板
jiahy| | 2018-5-9 15:32 | 只看该作者
可以在你关注的执行那里设置标记,每次喂够之前判断这些标记是否正常,如果正常,那么喂狗,如果不正常跳过喂够。这样就可以啦。

使用特权

评论回复
5
lizye| | 2018-5-9 15:38 | 只看该作者
看门狗实现的这种复位是不是让程序从main()最开头重新执行?所有寄存器都回到初始值?


复位是不是基本上看不出来?时间很快

使用特权

评论回复
6
heweibig|  楼主 | 2018-5-9 15:42 | 只看该作者
我揣摩一下~~~

使用特权

评论回复
7
shimx| | 2018-5-9 15:47 | 只看该作者
复位后I/O口OUT不变 DIR不是都清零了吗?

使用特权

评论回复
8
heweibig|  楼主 | 2018-5-9 15:49 | 只看该作者
大体明白各位的意思了,多谢啊

使用特权

评论回复
9
jiaxw| | 2018-5-9 15:53 | 只看该作者

环环相扣与冷热启动判断就能解决你的问题啦

使用特权

评论回复
10
spark周| | 2018-5-9 15:57 | 只看该作者
你得在你看门狗周期内,喂狗才行的。

使用特权

评论回复
11
liliang9554| | 2018-5-9 16:00 | 只看该作者

可能一圈程序就超时了。

使用特权

评论回复
12
heweibig|  楼主 | 2018-5-9 16:07 | 只看该作者


先结贴了o(∩_∩)o

使用特权

评论回复
13
usysm| | 2018-5-9 22:26 | 只看该作者
程序重新执行了。

使用特权

评论回复
14
typeof| | 2018-5-9 22:26 | 只看该作者
程序复位还是能够看到的

使用特权

评论回复
15
yujielun| | 2018-5-9 22:26 | 只看该作者
配置一个输出函数试试。

使用特权

评论回复
16
htmlme| | 2018-5-9 22:27 | 只看该作者
这个无法定义的。

使用特权

评论回复
17
pklong| | 2018-5-9 22:27 | 只看该作者
能不能通过LED显示呢

使用特权

评论回复
18
touser| | 2018-5-9 22:28 | 只看该作者
只能单步调试了。

使用特权

评论回复
19
myiclife| | 2018-5-9 22:28 | 只看该作者
你查看寄存器的数值。

使用特权

评论回复
20
uytyu| | 2018-5-9 22:28 | 只看该作者
是调试的时候吗?

使用特权

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

本版积分规则

869

主题

13089

帖子

7

粉丝