打印
[技术问答]

n78e366a 的watchdog应用

[复制链接]
1638|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是只写入,无法读出的,所以这个判定会产生问题。
还有能否说一下停止工作的确切状态,是一直复位,程序不跑?

使用特权

评论回复
5
gejigeji521| | 2015-9-23 18:58 | 只看该作者
楼主用汇编,我们看不懂啊。

使用特权

评论回复
6
mintspring| | 2015-9-23 21:05 | 只看该作者
我也是个不会汇编的,路过,这个是51内核的程序吧,看着像以前51的。

使用特权

评论回复
7
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
     

使用特权

评论回复
8
天灵灵地灵灵| | 2015-9-27 08:57 | 只看该作者
听说中断是不受主程序影响的,所以喂狗要在主程序。

使用特权

评论回复
9
wahahaheihei| | 2015-9-28 22:41 | 只看该作者
看门狗,真是好东西。

使用特权

评论回复
10
huangcunxiake| | 2015-9-28 22:46 | 只看该作者
如果是c语言就好了,汇编看不懂

使用特权

评论回复
11
Luis德华| | 2015-9-29 16:41 | 只看该作者
现在还用汇编语言呢,真是厉害啊

使用特权

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

本版积分规则

83

主题

327

帖子

2

粉丝