p158_s1_f44x.c

来自「msp430开发版程序」· C语言 代码 · 共 30 行

C
30
字号
//例:设ACLK=TACLK=32768Hz,MCLK=SMCLK=DCOCLK=1.048576MHz,周期性取反P5.1,产生频率为1.048576MHz/65536/2=8Hz的方波。P158
//示例代码如下:
#include <msp430x44x.h>
void main(void)
{
	WDTCTL = WDTPW + WDTHOLD;
	FLL_CTL0 |= XCAP14PF;  //SMCLK,清除TAR,允许定时器溢出中断
	TACTL = TASSEL1 + TACLR + TAIE;
	P5DIR |= 0x02;  //P5.1输出
	TACTL |= MC1;  //Timer_a连续计数模式
	_EINT();
	for(;;)
	{
		_BIS_SR(CPUOFF);  //CPU关闭
		_NOP();   //	
	}	
}
//Timer_A3中断向量(TAIV)
#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
	switch(TAIV)
	{
		case 2:break;  //CCR1没有用
		case 4:break;  //CCR2没有用	
		case 10: P5OUT ^= 0x02;  //发生溢出时,取反P5.1
		break;
	}	
}

⌨️ 快捷键说明

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