打印

新唐MS51系列 看门狗喂狗不成功

[复制链接]
19364|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
6841709|  楼主 | 2024-1-29 14:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
配置:看门狗时钟WDT使能,在空闲和掉电模式下不工作。程序看门狗初始化
    BIT_TMP=EA;
    EA=0;
    TA=0xAA;TA=0x55;WDCON|=0x07;                        //设备WDT分频,溢出时间1.6S
    TA=0xAA;TA=0x55;WDCON|=SET_BIT6;                   //清除计数器
    while((WDCON|~SET_BIT6)==0xFF);                    //确认清除计数器完成
    TA=0xAA;TA=0x55;WDCON|=0x80;                      //看门狗运行
    EA=BIT_TMP;


间隔100ms喂狗,喂狗函数
    BIT_TMP=EA;
    EA=0;
    TA=0xAA;TA=0x55;WDCON|=SET_BIT6;
    EA=BIT_TMP;

程序运行后,一直复位,喂狗不起作用

使用特权

评论回复
沙发
cr315| | 2024-1-29 16:45 | 只看该作者
喂狗时机不对

使用特权

评论回复
板凳
6841709|  楼主 | 2024-1-29 16:55 | 只看该作者
间隔100ms喂一次,在Main.c间隔100ms喂一次,这样会复位吗

使用特权

评论回复
地板
电子乐园游园ing| | 2024-1-29 16:58 | 只看该作者
喂狗的间隔,和程序运行时间不对

使用特权

评论回复
5
6841709|  楼主 | 2024-1-29 17:02 | 只看该作者
电子乐园游园ing 发表于 2024-1-29 16:58
喂狗的间隔,和程序运行时间不对

我在while(1)里面只运行喂狗函数,程序还是会复位

使用特权

评论回复
6
6841709|  楼主 | 2024-1-29 17:03 | 只看该作者

我在while(1)里只运行喂狗函数,这样还是会复位

使用特权

评论回复
7
xch| | 2024-1-29 19:30 | 只看该作者
while((WDCON|~SET_BIT6)==0xFF);                    //确认清除计数器完成

这句没看明白。

使用特权

评论回复
8
天灵灵地灵灵| | 2024-1-29 20:25 | 只看该作者
怎么不用头文件里定义好的。

使用特权

评论回复
9
天灵灵地灵灵| | 2024-1-29 20:29 | 只看该作者
set_WDCON_WDCLR

使用特权

评论回复
10
天灵灵地灵灵| | 2024-1-29 20:32 | 只看该作者

使用特权

评论回复
11
天灵灵地灵灵| | 2024-1-29 20:33 | 只看该作者

使用特权

评论回复
12
天灵灵地灵灵| | 2024-1-29 20:33 | 只看该作者

使用特权

评论回复
13
天灵灵地灵灵| | 2024-1-29 20:33 | 只看该作者
上述代码中,feedWatchdog() 函数用于定期喂狗,确保在看门狗计时器超时之前重置计时器。在主程序中,通过一个无限循环不断运行程序,同时定期喂狗。如果看门狗超时,系统将执行 resetHandler() 函数进行处理。

使用特权

评论回复
14
qintian0303| | 2024-1-30 09:36 | 只看该作者
不喜欢用看门狗  

使用特权

评论回复
15
6841709|  楼主 | 2024-1-30 15:13 | 只看该作者

就是用头文件定义好的啊
#define set_WDCON_WDCLR          BIT_TMP=EA;EA=0;TA=0xAA;TA=0x55;WDCON|=0x40;EA=BIT_TMP

使用特权

评论回复
16
Betty1299| | 2024-2-1 13:06 | 只看该作者
是不是你的100ms时间不够啊?

使用特权

评论回复
评论
6841709 2024-2-6 16:46 回复TA
不是的,我直接在while(1)内喂狗都不行,不允许其他的程序,就喂狗,这样都复位 
17
Carmen7| | 2024-2-1 14:12 | 只看该作者
你可以试试将倒计时定时器设置的长一些

使用特权

评论回复
18
Candic12e| | 2024-2-1 16:20 | 只看该作者
话说,1.6秒的时间够用了啊,咋还喂狗失败啊?

使用特权

评论回复
19
Charlotte夏| | 2024-2-1 17:21 | 只看该作者
这芯片不能仿真,但是你可以试试用log的方式打印出来看看

使用特权

评论回复
20
Allison8859| | 2024-2-1 18:22 | 只看该作者
喂狗成功了没啊?是不是没成功啊

使用特权

评论回复
评论
xxy9527 2024-5-3 16:36 回复TA
@6841709 :成功喂狗了就不会一直重启了 
6841709 2024-2-6 16:47 回复TA
怎样知道有没成功呢 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

35

帖子

2

粉丝