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

📄 msp430x54x_lpm3_1.c

📁 MSP430F5XXX的sample code
💻 C
字号:
//******************************************************************************
//   MSP430x54x Demo - Software Toggle P1.0 from LPM3 (ACLK = REFO)
//
//   Description: Toggle P1.0 by xor'ing P1.0 with WDT LPM3 wake.
//   ACLK = REFO = 32kHz, MCLK = SMCLK = default DCO
//
//                 MSP430x5438
//             -----------------
//         /|\|                 |
//          | |                 |
//          --|RST              |
//            |                 |
//            |             P1.0|-->LED
//
//   Z Albus
//   Texas Instruments Inc.
//   May 2008
//   Built with CCEv3.2 CCE Version: 3.2.0
//******************************************************************************
#include  "msp430x54x.h"

void main(void)
{
  volatile unsigned int i;
  
  WDTCTL = WDT_ADLY_1000;                   // WDT 250ms, ACLK, interval timer
  SFRIE1 |= WDTIE;                          // Enable WDT interrupt
  P1DIR |= BIT0;                            // P1.0 output

  P1DIR = 0xFF;P2DIR = 0xFF;P3DIR = 0xFF;P4DIR = 0xFF;P5DIR = 0xFF;P6DIR = 0xFF;
  P7DIR = 0xFF;P8DIR = 0xFF;P9DIR = 0xFF;P10DIR = 0xFF;P11DIR = 0xFF;
  P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;P5OUT = 0x00;P6OUT = 0x00;
  P7OUT = 0x00;P8OUT = 0x00;P9OUT = 0x00;P10OUT = 0x00;P11OUT = 0x00;

  PJDIR = 0xFF;                             //
  PJOUT = 0x00;                             //

  __bis_SR_register(LPM3_bits + GIE);       // Enter LPM3 w/interrupt
}

// Watchdog Timer interrupt service routine
#pragma vector = WDT_VECTOR
__interrupt void watchdog_timer(void)
{
  P1OUT ^= 0x01;                            // Toggle P1.0 using exclusive-OR
}

⌨️ 快捷键说明

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