tatest.c

来自「利用430做的一个产生时钟脉冲的程序」· C语言 代码 · 共 59 行

C
59
字号
#include<msp430x14x.h>

#define uint unsigned int
void InitSys( void );
void Init_TimerA( void );

void main( void )
{
  InitSys( );

  while( 1 );
}

void Init_TimerA( void )
{
  TACTL = TASSEL1+ MC0 + TAIE;
  //CCTL0 = OUTMOD_4 + CCIE;
  CCR0 = 50;
  CCTL1 = OUTMOD_4 + CCIE;
  CCTL2 = OUTMOD_4 + CCIE;
}

interrupt [ TIMERA1_VECTOR ] void TimerACCR_ISR( void )
{
  _NOP( );
  switch( TAIV )
  {
    case 2:
    {
      CCR1 +=  10;
    }
    case 4:
    {
      CCR2 += 4;
    }
  }
}

void InitSys( void )
{
  uint iq0;
  
  WDTCTL = WDTPW + WDTHOLD;              //关闭看门狗 
  BCSCTL1 &= ~XT2OFF;                     //打开XT2振荡器
  do
  {
    IFG1 &= ~OFIFG;                       // 清除振荡器失效标志
    for( iq0 = 0xFF; iq0 > 0; iq0-- );
  }
  while((IFG1 & OFIFG) != 0 );
  
  BCSCTL2 =SELM_2+SELS;				//选择MCLK、SMCLK为XT2
  
  Init_TimerA( );
  
  P1SEL |= 0X0E;
  P1DIR |= 0X0E;
  _EINT();			                        //打开全局中断控制
}

⌨️ 快捷键说明

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