[技术问答] n78e366a 的watchdog应用

[复制链接]
1880|10
 楼主| softerchang 发表于 2015-9-22 16:56 | 显示全部楼层 |阅读模式
各位:
  小弟一软件,一开启watchdog就停机,不知为何?现贴出代码,请各位指导一下。

      CALL        clearWDT
     CLR     EA
                MOV     TA,#0AAH
                MOV     TA,#55H
                orl     WDCON,#04H
                MOV     TA,#0AAH
                MOV     TA,#55H
                orl     WDCON,#10H
                MOV     TA,#0AAH
                MOV     TA,#55H
                orl     WDCON,#40H
                SETB    EA
                MOV     A,WDCON
                JB      ACC.6,$
                CLR     EA
                MOV     TA,#0AAH
                MOV     TA,#55H
                ORL     WDCON,#80H       
                SETB    EA   

clearWDT:
                CLR     EA
                MOV     TA,#0AAH
                MOV     TA,#55H
                MOV     A,#08H
                CPL     A
                ANL     WDCON,A
                SETB    EA
               
                RET


jliu_nuvoton 发表于 2015-9-22 17:44 | 显示全部楼层
清狗指令不对,应该如下:

clearWDT:
                 CLR     EA
                 MOV     TA,#0AAH
                 MOV     TA,#55H
                 ORL      WDCON,#01000000B
                 SETB    EA
                 RET
 楼主| softerchang 发表于 2015-9-23 11:41 | 显示全部楼层
谢兄弟答复,但还是不行,只要开启watchdog,芯片就停止工作。
lcwang0 发表于 2015-9-23 16:16 | 显示全部楼层
看程序有,WDT的时间设定在204.08ms溢出,所以,程序里面喂狗的时间是否够快?
还有看到中间有段     MOV     A,WDCON
                             JB      ACC.6,$
因为WDCON.6是只写入,无法读出的,所以这个判定会产生问题。
还有能否说一下停止工作的确切状态,是一直复位,程序不跑?
gejigeji521 发表于 2015-9-23 18:58 | 显示全部楼层
楼主用汇编,我们看不懂啊。
mintspring 发表于 2015-9-23 21:05 | 显示全部楼层
我也是个不会汇编的,路过,这个是51内核的程序吧,看着像以前51的。
 楼主| softerchang 发表于 2015-9-25 14:21 | 显示全部楼层
谢各位:
  问题解决了,有二个错误:
  1:如jliu_nuvoton所讲,清看门狗错了。
  2:ta 保护时间错了。
                MOV     TA,#0AAH
                MOV     TA,#55H
                MOV     A,#08H
                CPL     A
                ANL     WDCON,A
     应改为:
      MOV     TA,#0AAH
                MOV     TA,#55H           
                ANL     WDCON,#00h
     
天灵灵地灵灵 发表于 2015-9-27 08:57 | 显示全部楼层
听说中断是不受主程序影响的,所以喂狗要在主程序。
wahahaheihei 发表于 2015-9-28 22:41 来自手机 | 显示全部楼层
看门狗,真是好东西。
huangcunxiake 发表于 2015-9-28 22:46 来自手机 | 显示全部楼层
如果是c语言就好了,汇编看不懂
Luis德华 发表于 2015-9-29 16:41 | 显示全部楼层
现在还用汇编语言呢,真是厉害啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

328

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部