⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_c.c

📁 参考设计:为USB430和斜度计两个实例的源程序和编译后的文件 “实验程序”子文件夹内容:为本光盘所配书的实验的源程序和编译后的文件。其中C源程序文件可以用记事本程序打开
💻 C
字号:
/*********************************************************
*
*   文件名称:
*           main_c.c
*   文件说明:
*           程序用于对看门狗的两种工作模式进行测试
*           当setWDT(0)时,程序测试看门狗的看门狗模式
*           当setWDT(1)时,程序测试看门狗的定时器模式        
*************************************************************/

#include <msp430x44x.h>

/***********************************************************
*        设置看门狗的两种模式 
*        在系统加电后,默认的子系统频率是1M,设置WDT延迟为250ms
*        那么系统执行0x1ffff 条指令后系统如果没有重新设置WDT,
*        WDT将导致系统复位
*************************************************************/
void setWDT(int mode)
{
     unsigned int tmp;
     if(mode==1)
     {                            // 定时器模式
         WDTCTL = WDT_ADLY_250;   // 250ms中断间隔
         IE1   |= WDTIE;          // 使能 WDT 中断
         P5DIR |= 0x02;           // P5.1 output mode      
         _EINT();                 // 开中断                
     }else if(mode==0)
     {                            //看门狗模式 
       WDTCTL = WDT_ARST_250;     //设置看门狗时间间隔为250ms
                                  //在系统加电后,默认子系统时钟频率是1M      
       for(tmp=0x7fff;tmp>0;tmp--);//延迟
       P5DIR |= 0x02;             //P5.1 output mode 
       P5OUT |= 0x02;             //light LED4   
       for(tmp=0x7fff;tmp>0;tmp--); //延迟, 执行一次tmp--至少要用2个指令  
     }
}
/**********************************************************
*  函数说明:
*          WDT中断函数
*
************************************************************/
#pragma vector = WDT_VECTOR 
 __interrupt void  WDT_Interrupt(void)
 {
     P5OUT ^= 0x02;    
 }
/***********************************************************
*  main()函数
*************************************************************/
void main(void)
{
     
     setWDT(1);                   //设置程序运行在看门狗模式
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -