看门狗与CPUOFF

2019-03-24 16:09发布

======================================================================//
#include "msp430x54x.h"#include <stdlib.h>#include <stdio.h>#include "PIN_DEF.H"
#pragma vector=WDT_VECTOR__interrupt void watchdog_timer (void){  P1OUT   ^= 0xF0                                         ;   P9OUT   ^= 0x0F                                         ; }
//***************************************************************************////                                                                           ////  Init_Port(void): éèÖÃIO¶Ë¿ú                                              ////                                                                           ////***************************************************************************//void Init_Port(void){  P5DIR  |= POWER                                         ;   MAIN_POWER_ON                                           ;  P7DIR  |= LED_PWR                                       ;   P7OUT  &=~LED_PWR                                       ;  P1OUT   = 0xF0                                          ;   P9OUT   = 0x0F                                          ;   P9DIR   = 0x0F                                          ;}

int main( void ){  WDTCTL   = WDTPW + WDTHOLD                              ;  Init_Port()                                             ;  P7SEL   |= 0x03                                         ;  UCSCTL6 &=~XT1OFF                                       ;    UCSCTL6 |= XCAP_3                                       ;   UCSCTL4 |= SELA_0                                       ;  SFRIE1  |= WDTIE                                        ;  WDTCTL   = WDT_ADLY_1000                           ;   _EINT()                                                 ;  LPM3                                                    ;}
这是一段使用看门狗定时器程序,将看门狗设置为时间间隔模式,P1、P9口端口电平3.3V与GND之间跳变。若是将LPM3这句语句去掉,则P1、P9口端口电平不变化,并且程序停止不再运行,检测窗口显示program exit reached,并且检测SR寄存器C位置1。若是将LPM3改为LPM0、LPM1、LPM2、LPM4,P1、P9口端口电平3.3V与GND之间跳变。



此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章