打印

蔡鸟求助---单片机硬件看门狗程序设计

[复制链接]
1560|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mima1980|  楼主 | 2007-7-30 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,有问提求助!

        程序主要是实验性质,主要是通过swh_Out这个变量来实现计时。结构大致是这样,我

用的硬件看门狗MAX713L,用p1.5做WDI输入。

      我自己发现的问题是:在while循环内部,我是延时1。4s左右 再喂狗,有问题。因为我

是计时,如果在for 循环时,swh_out 为由0变1时,

    我会在for执行完了才检查swh_out,会有计时的误差。  

    有没有方法在循环等待的同时,可以在1。6s内同时清看门狗?

    我看到有的资料说 在中断中清看门狗,不是很好。况且处理中断也有计时误差。

  当然还有的方法就是:做补偿,不过那是实在没法了再用的办法了。大家有没有什么好的方

法?

  谢谢大家!!!!!!!!!!!!!!!!!
    while(!Swh_Out)         {Wdt_Input=1;
                                        for(i=0;i<22;i++)   delay(5000);
                                        Wdt_Input=0;

                                       };
     TR1=1;
     delay(60000);  

      TR1=0;

相关帖子

沙发
conwh| | 2007-7-30 12:21 | 只看该作者

1.6s可能超时了,在循环体内放置cpl wdt.out

使用特权

评论回复
板凳
救火车| | 2007-7-30 12:49 | 只看该作者

请参加8月份专题讨论

专题已置顶。
快去参加讨论吧。过了这个村就没这个店啦!

使用特权

评论回复
地板
mima1980|  楼主 | 2007-7-30 14:09 | 只看该作者

Conwh

通常wdo接mr,wdi 接i/o ,
  cpl wdt.out  是什么接法?

请指点 
   还有就是 我这样接,如果1.6s用定时中断给wdi取反,可不可以?
   如果这样,那还是会有计时误差吧,单片机是不是也得在中断完成后才开始下一步的程序?
谢谢!
   

使用特权

评论回复
5
conwh| | 2007-7-30 15:37 | 只看该作者

我这里的wdt.out就是你的wdti

比如说813l它的复位时间大约0.6s
如果你使用定时器一定要在主程序和较长时间的子程序中增加一个(些)标志位复位(置位),在定时中断中要检测这个(些)标志位,如果是成功改写了,则不重新启动并将这个(些)标志位进行置位(或复位,这个过程与主程序的相反);否则重新启动MCU。

使用特权

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

本版积分规则

1

主题

4

帖子

0

粉丝