This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430

Other Parts Discussed in Thread: MSP430G2553, MSPWARE, MSP430FR2000, MSP430F249

定时中断那一部分一直报错,输出不了SPWM波形,下面是我的程序

#include"msp430g2553.h"
#define cSMCLK 12000000
#define SIN_F 200                 //定义输出正弦波频率为200hz
#define SIN_NUM 16                //定义正弦波查表采样点数
const unsigned int sin_table[SIN_NUM]={64,88,108,122,127,122,108,88,64,39,19,5,0,5,19,39};
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;            //关闭看门狗
BCSCTL1 = CALBC1_12MHZ;             //设置定时器时钟为12mhz
DCOCTL = CALDCO_12MHZ;              //DCO频率设置为12mhz
DCOCTL = DCOCTL&0xE0;               //关闭震荡
TA1CTL= TASSEL_2+MC_1;              //TA1设置为增计数模式,时钟为SMCLK(12mhz)
TA1CCTL1|= OUTMOD_7;                   //TA1模块设置为模式7输出
P2SEL|= BIT1;
P2DIR|= BIT1;                     //P2.1为输出口
TA1CCR0=128;  //pwm周期为128hz
Timer0_A_lnit();
}
void Timer0_A_lnit()
{
TA0CCTL0 = CCIE;
TA0CCR0 = cSMCLK/SIN_F/SIN_NUM;
TA0CTL= TASSEL_2 + MC_1;               //TA0为增计数模式,时钟为SMCLK(12mhz)
_EINT();                                //开中断
}
//读表
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer0_A0_(void)
{
_disable_interrupts();
Change_Duty;
__enable_interrupts();
}