示例程序和教程1.基础实验8看门狗_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、七、看门狗前言:实验功能:演示打开看门狗后没有喂狗系统不断复位的情况。实验讲解:CC2530 的看门狗很简单,只需要配置 1 个寄存器 WDCTL。功能如下表所示: (详细参考 CC2530 datasheet.pdf)按照表格寄存器内容, Init_Watchdog:对 WDCTL 具体配置可如下:WDCTL= WDCTL |=0 x00;0 x08;/这是必须的,打开 IDLE 才能设置看门狗/时间间隔一秒,看门狗模式FeetDog: WDCTL=WDCTL=0 xa0; 0 x50;/按寄存器描述来喂狗源程序代码(全)/*/程序描述:打开看门狗后,得记得喂狗,不然系统就会不停地复位了。把

2、喂狗注释掉观察 LED1 现象*/ #include #define uunsigned#define uchar unsigned char1WDCTL (0 xC9)Bit7:Bit4清除计数器值。在看门狗模式下,如果此四位在一个看门狗周期内先后写入 0 xA,0 x5, 则清除 WDT 的值。简称喂狗。Bit3:Bit2WDT 工作模式选择寄存器。00IDLE01IDLE(未使用)10看门狗模式11定时器模式Bit1:Bit0看门狗周期选择寄存器。001 秒010.25 秒1015.625 毫秒111.9毫秒看门狗,眼 名字。无论在普通的 51,还是高级的 ARM。都离不开他的身影。一个

3、完整的系统总需要一个看门狗,在你程序跑飞的时候帮你一把,使系统重新进入工作状态。它无疑是世界上最忠诚的狗。不过可千万别忘了喂它。/定义控制 LED 灯的端口 #define LED1 P1_0 #define LED2 P1_1/定义 LED2 为 P11 口控制/函数void Delayms(uxms);/延时函数/初始化 P1 口void InitLed(void);/*/延时函数*/void Delayms(uxms)/i=xms 即延时 i 毫秒ui,j;for(i=xms;i0;i-)for(j=587;j0;j-);/*/初始化程序*/ void InitLed(void)P1DIR |= 0 x03; LED1 = 1;LED2 = 1;/P1_0、P1_1 定义为输出/LED1 灯熄灭/LED2 灯熄灭void Init_Watchdog(void)WDCTL = 0 x00; WDCTL |= 0 x08;/这是必须的,打开 IDLE 才能设置看门狗/时间间隔一秒,看门狗模式void FeetDog(void)WDCTL = 0 xa0; WDCTL = 0 x50;/*/主函数*/2void main(void)InitLed();Init_Watchdog(); LED1=1;while(1)LED2=LED2;Delayms(300); LED1=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论