百方网
百方曝光台
当前位置: 首页 » 行业资讯 » 技术专利 » 正文

AVR 看门狗使用

http://news.byf.com   2018-05-17  来源:百方网 
新闻纠错
           / /观察喂狗与不喂狗的区别,使用PB口的LED指示灯做状态指示。

    //将PB口的LED指示灯使能开关切换到"ON"状态。

    #include

 

    #define DISP_DDR DDRB

    #define DISP_PORT PORTB

    //看门狗WDT初始化程序

    void wdt_init(void)

    {

        asm("wdr");   //clr wdt

        WDTCR=0x0F;   //enable wdt,clk = 2048,2.1S

    }

    void main(void)

    {

        uint8 i;

 

        DISP_DDR = 0xFF;

        wdt_init();

 

        while(1)

        {

            DISP_PORT++;    //数据显示向上加,作AVR正常运行的指示

            asm("wdr");    //喂狗,去除此句将导致狗饿死,AVR复位

            delay50ms(20);

        }

    }

    void WDT_off(void)

    {

        asm("cli");

        asm("wdr");   //复位看门狗,即喂狗

       

        MCUSR &= ~(1<

       

        WDTCR |= (1<

       

        WDTCR = 0x00;

    }

     void WATCHDOG_Feed()

     {

         asm("wdr");   //复位看门狗,即喂狗

     }

//在AVR的运行程序中设置让PB显示端口自加。若AVR正常工作,

//及时喂狗,则单片机设置的显示端口正常自加。

//去除语句:asm("wdr");单片机不断复位,程序得不到允许,自加数据没有显示往上加。

 


初始化,然后喂狗,喂狗要在看门狗咬人之前,(复位之前喂狗) 
注:清狗指令不能放定时器中断里,因此不管程序飞跑到哪里, 执行哪里,中断产生后都会执行中断函数, 所以在定时器里的清狗指令会使WDT起不到作用(失效)。

百方网微信
免责声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议,文章内容仅供参考。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
40.5K电气行业新闻、技术文章投稿QQ:179005781 邮箱:zw@byf.com
本文相关关键词: 清狗指令 程序 中断函数
行业热点
天准科技推出三坐标测量机新品 标志中国测量机已达国际领先水平

天准科技推出三坐标测量机新品 标志中国测量机已达国际领先水平

2024年4月9日上午,"天工开物 重塑标准"天准三坐标...[详细]

领票啦!购设备/看新品/听观点,就来5月重庆立嘉展!

领票啦!购设备/看新品/听观点,就来5月重庆立嘉展!

看新品!今年立嘉展重点聚焦数字化、智能化制造,9...[详细]

光储展贸重磅事件!2024世界太阳能光伏暨储能产业博览会8月亮相羊城

光储展贸重磅事件!2024世界太阳能光伏暨储能产业博览会8月亮相羊城

2024年8月8日-10日,由广东省太阳能协会、广东省粤...[详细]

关于我们 | 广告服务 | 会员服务 | 隐私申明 | 友情链接 | 联系我们 | 法律顾问 | 网站地图 | 管理制度 (c)2008-2021 BYF All Rights Reserved