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

请问一下这个程序为什么报错我数组没有定义,不知道怎么发截图,我把错误地方标注x、

#include <msp430x24x.h>
#include <math.h>
int y=0
//定义正弦表,将正弦波正半周分为9份//
const long SinTable[36]=                                     
{
22979, 9598, 36938, 27637, 20566, 42342,
8414, 51941, 1948, 55274, 1948, 51941
8414, 42342, 2056, 27637, 36938, 9598,
22979, 9598, 36938, 27637, 20566, 42342,
8414, 51941, 1948, 55274, 1948, 51941,
8414, 42342, 2056, 27637, 36938, 9598,         };         //x
//合成正弦波主程序
void main(void)
{
int i;
WDTCTL= WDTPW+ WDTHOLD;//禁止看门狗定时器
//设置系统时钟,使用外接晶振:8MHz,使单片机的时钟源设为XT2//
BCSCTL1 &=~XT2OFF;
do
{IFG1 &=~OFIFG;
for(i=0xFF; i>0; i--);
}
while((IFG1 & OFIFG)!=0);
BCSCTL2 |=SELM1+DIVM1+DIVM0;
//初始化端口//
P2DIR |=0x03; //P2.0,P2.1为输出
P2OUT &=0X00;
//设置 Timer a//
TACTL |= TASSEL1 + TACLR+ID1+ID0;//选择MLK为时钟,定时器清除
CCTL0=CCIE;
TACCR0=SinTable[0];            // x
//中断允许
_EINT();
TACTL|=MC0;//选择up,16位模式
}
//调用中断函数//
#pragma vector=TIMERA0_VECTOR
interrupt void Timer_A(void)
{
y=(y+1)%36;
if(y==0)
{
TACCR0=SinTable[y];                // x
P2OUT &=0X00;
}
else if(y>0&y<18)
{
TACCR0=SinTable[y];            // x
P2OUT^=0X01;
}
else if(y==18)
{
TACCR0=SinTable[y];           // x
P2OUT=0X00;
}
else if(y>18&y<=35)
{
TACCR0=SinTable[y];            // x
P2OUT^=0X02;
}
}