#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 />错误就出在这一块!请指教,中断该怎么写?? |
|