×
嵌入式 > 技术百科 > 详情

MSP430F249_TimerA定时器

发布时间:2020-06-02 发布时间:
|

/******************************************************************
**                                                       
**  File : TimerA.c     | Timer Interrupt |                                    
**  Version : 1.0     
** Description: TimerA Interrupt                                                                          
**  Author : LightWu                              
**  Date : 2013-4-16                                                       
**                                                   
*******************************************************************/


#include "MSP430X24X.h"


int Count;


void main(void)
{
        // Stop watchdog timer to prevent time out reset
        WDTCTL = WDTPW + WDTHOLD;       //关狗
  
        P4DIR = BIT0|BIT1|BIT2|BIT3;    //设置为输出
        P4SEL = 0;
        
        P1IE |= 0x08;                             // P1.3 interrupt enabled
        P1IES |= 0x08;                            // P1.3 Hi/lo edge
        P1IFG &= ~0x08;                           // P1.3 IFG cleared


        //__bis_SR_register(LPM4_bits + GIE);       // Enter LPM4 w/interrupt
        
        CCTL0 = CCIE;                             // CCR0 interrupt enabled
        CCR0 = 10;
        TACTL = TASSEL_2 + MC_2;                  // SMCLK, contmode


        _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
        
        while(1)
        {
              if( 10 < Count )
              {
                  Count = 0;
                  
                  P4OUT ^= 0x0F;              //电平翻转
              }
        }
        
}


// Port 1 interrupt service routine
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
    P4OUT ^= 0x0F;              //电平翻转
    
    P1IFG &= ~0x08;             // P1.3 IFG cleared,注意清标志位,否则会一直进入中断
}


// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
    //P4OUT ^= 0x0F;              //电平翻转
    
    Count++;
    if( 10 < Count )
    {
         __bic_SR_register_on_exit(LPM0_bits);        // Exit LPM0


    }
 
}

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NTMD6N03R2G的技术参数