430简单中断编译不能通过!环境IAR

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

本版积分规则

140

主题

293

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部