搜索
bottom↓
回复: 12

看门狗死活不清零,什么鬼?

[复制链接]

出0入0汤圆

发表于 2015-12-14 19:50:54 | 显示全部楼层 |阅读模式
本帖最后由 JYX2015 于 2015-12-14 19:52 编辑

如题,这段代码咋一看是对的,但是就是没反应,是不是汇编指令错了?

  1. while (!TMR1IF)
  2.   {
  3.      CLRWDT();
  4.                               
  5.   }


  6. #define        CLRWDT()        asm("clrwdt")

复制代码


想不通。循环是能进的,应该没有被优化掉。

出0入0汤圆

发表于 2015-12-14 22:56:05 | 显示全部楼层
PIC我从这上个月才开始用,还没有使用过看门狗,看看你如何解决的!

出0入0汤圆

 楼主| 发表于 2015-12-15 08:50:42 | 显示全部楼层
哎哟我了个去,一晚上没人应答?

出0入0汤圆

发表于 2015-12-15 12:03:44 | 显示全部楼层
看反汇编!

出0入20汤圆

发表于 2015-12-15 19:01:16 来自手机 | 显示全部楼层
你打开T1的中断吗?为什么要在中断里喂狗?为什么不在主程序里喂?

出0入0汤圆

 楼主| 发表于 2015-12-16 08:53:45 | 显示全部楼层
mon51 发表于 2015-12-15 19:01
你打开T1的中断吗?为什么要在中断里喂狗?为什么不在主程序里喂?

主程序要喂狗的话周期太长,来不及。

T1中断没开,优化全关。

出0入20汤圆

发表于 2015-12-16 12:34:45 | 显示全部楼层
JYX2015 发表于 2015-12-16 08:53
主程序要喂狗的话周期太长,来不及。

T1中断没开,优化全关。

你主程序的执行时间太长就有问题。难道长达几百毫秒?看门狗设置在100毫秒就可以了。

出0入0汤圆

发表于 2015-12-16 13:02:23 来自手机 | 显示全部楼层
中断中喂狗是不提倡的,起不到防跑飞的作用

出0入0汤圆

发表于 2015-12-16 22:09:09 | 显示全部楼层
int main (void)
   {    //单片机初始化         
         while (1)
                {       
                  asm("CLRWDT");
                 //函数1       
                  asm("CLRWDT");
                 //函数2       
                  asm("CLRWDT");
                 //函数3       
                  asm("CLRWDT");  
                 //函数4
                }
     }
清狗没反应,你通过什么手段来观察其效果?

出0入0汤圆

 楼主| 发表于 2015-12-17 08:41:05 | 显示全部楼层
mon51 发表于 2015-12-16 12:34
你主程序的执行时间太长就有问题。难道长达几百毫秒?看门狗设置在100毫秒就可以了。 ...

看门狗设置在几百毫秒还有意义吗?
用循环进行延时,不是只好把喂狗放在循环里面。

出0入0汤圆

 楼主| 发表于 2015-12-17 08:42:26 | 显示全部楼层
fangjikun 发表于 2015-12-16 22:09
int main (void)
   {    //单片机初始化         
         while (1)

把看门狗延时打到32秒。
32秒后系统自动重启,这不显然是看门狗的原因?

出0入0汤圆

 楼主| 发表于 2015-12-17 08:44:14 | 显示全部楼层
tenx 发表于 2015-12-16 13:02
中断中喂狗是不提倡的,起不到防跑飞的作用

这话没错。可是现在的情况是根本就不喂,而且找不到原因。

出0入0汤圆

发表于 2015-12-19 16:04:56 | 显示全部楼层
TMR1IF置1以后你根本就没手动清零吧,不然你这程序就是个死循环,根本运行不了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 14:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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