博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CC2540开发板学习笔记(八)—— 看门狗
阅读量:5257 次
发布时间:2019-06-14

本文共 1182 字,大约阅读时间需要 3 分钟。

一、功能:

     防止程序跑飞,使得系统重新进入工作状态,即一种复位操作吧。

     但需要不停地喂狗= =(就是不断的执行某种操作),假如说你的程序跑到了不知道哪里去的错误时,即不会实现喂狗,就会发生复位,程序就进入正常工作状态。

   

二、模拟看门狗作用

     加上注释相当于进入不正常的工作状态。

#include
#define uint unsigned int#define uchar unsigned char//定义控制LED灯的端口#define LED1 P1_0#define LED2 P1_1 //定义LED2为P11口控制//函数声明void Delayms(uint xms); //延时函数void InitLed(void); //初始化P1口/****************************//延时函数*****************************/void Delayms(uint xms) //i=xms 即延时i毫秒{ uint i,j; for(i=xms;i>0;i--) for(j=587;j>0;j--);} /****************************//初始化程序*****************************/void InitLed(void){ P1DIR |= 0x03; //P1_0、P1_1定义为输出 LED1 = 0; //LED1灯熄灭 LED2 = 0; //LED2灯熄灭}void Init_Watchdog(void) { WDCTL = 0x00; //这是必须的,打开IDLE才能设置看门狗 WDCTL |= 0x08; //时间间隔一秒,看门狗模式 }void FeetDog(void) { WDCTL = 0xa0; WDCTL = 0x50; }/***************************//主函数***************************/void main(void){ InitLed(); //调用初始化函数 Init_Watchdog(); LED1=0; while(1) { LED2=~LED2; //仅指示作用。 Delayms(300); LED1=1; //通过注释测试,观察LED1,系统在不停复位。 FeetDog();//防止程序跑飞 }}

转载于:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4439402.html

你可能感兴趣的文章
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
poj 1331 Multiply
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
P1107 最大整数
查看>>
多进程与多线程的区别
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>