|
430简单中断编译不能通过!环境IAR <br /><br />#include<msp430x14x.h><br /><br />void init(void);<br />void main(void)<br />{<br /> P4DIR=0XFF; //P4口为输出<br /> WDTCTL=WDTPW+WDTHOLD;<br /> init();<br /> _EINT(); //打开中断<br /> while(1); //无限次循坏,等待接收中断<br />}<br /><br />void init(void)<br />{<br />UCTL0&=~SWRST; //UASRT模块被允许<br />UCTL0|=CHAR; //SPB=0,一位停止位。CHAR=1;八位数据位。<br />UBR00=0x03; //9600波特率,32khz时钟<br />UBR01=0x00;<br />UMCTL0=0X4A;<br />UTCTL0|=SSEL0; //发送控制寄存器,这句话等于UTCTL0=0X10。选择辅助性ACLK<br />ME1=UTXE0+URXE0; //模块允许寄存器ME1。发送允许,接受允许<br />P3SEL=BIT4+BIT5; //p3第四五两个管脚供外围模块用<br />P3DIR=BIT4+BIT5; //p3第4,5位为输出<br />IE1|=URXIE0; //中断允许寄存器IE1,第6位为1,使能接收中断<br />}<br />#if _VER_ <200<br /> interrupt [UART0RX_VECTOR] void UART0_RX_ISR(void)<br />#else<br /> #pragma vector=UART0RX_VECTOR<br /> _interrupt void UART0_RX_ISR(void) //接收中断函数<br />#endif<br />{<br /> unsigned char seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};<br /> unsigned int x=0;<br /> {<br /> x=RXBUF0; //将接收缓冲器的内容送x<br /> P4OUT=seg[x]; //再送P4口显示<br /> }<br />}<br /><br />出现问题如下:<br />Error[Pe077]: this declaration has no storage class or type specifier<br />Error[Pe065]: expected a ";"<br />Warning[Pe012]: parsing restarts here after previous syntax error<br />错误就出在这一块!请指教,中断该怎么写??<br /> <br /> <br /> |
|