MSP430中的中断

这个是官方的例子的改写

#include <msp430f169.h>

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD + WDTNMI + WDTNMIES; // WDT off NMI hi/lo

  P6DIR |= 0x01;                                // Set P6.0 to output direction
  P6OUT &= ~0x01;                               // Clear P6.0 LED on
  IE1 |= NMIIE;                                 // Enable NMI

  LPM0;                                         // Enter LPM0
}

#pragma vector=NMI_VECTOR
__interrupt void nmi_ (void){
  volatile unsigned int i;
  P6OUT |= 0x01;                                // Set P6.0 LED off
  for (i = 20000; i > 0; i--);                  // Delay
  P6OUT &= ~0x01;                               // Clear P6.0 LED off
  IFG1 &= ~NMIIFG;                              // Reclear NMI flag in case bounce

  IE1 |= NMIIE;                                 // Enable NMI
}
posted @ 2021-03-30 11:20  叕叒双又  阅读(148)  评论(0编辑  收藏  举报