主题 : 利用UART0的中断方式接收数据遇到的问题 复制链接 | 浏览器收藏 | 打印
勺饮不器盛沧海,拳石频移磊泰山
级别: 侠客
UID: 15752
精华: 0
发帖: 71
金钱: 355 两
威望: 71 点
贡献值: 0 点
综合积分: 142 分
注册时间: 2010-03-09
最后登录: 2010-10-19
楼主  发表于: 2010-05-15 16:18

 利用UART0的中断方式接收数据遇到的问题

描述:中断定义错误
图片:
小弟正在做利用UART0口接收数据的实验,利用的是中断方式。部分代码如下:
#define _ISR_STARTADDRESS 0x33ffff00
#define pISR_UART0           (*(unsigned *)(_ISR_STARTADDRESS+0x90))
void __irq uartISP(void)
{
       U16 ch;
       rSUBSRCPND |= 0x3;
       rSRCPND = 0x1<<28;
       rINTPND = 0x1<<28;
       if(rUTRSTAT0 & 1)             //接收数据处理部分
    {

              ch = RdURXH0();                     //接收字节数据
       if(ch==0x11)
                  rGPBDAT = (0x0e<<5);       //LED1亮
       if(ch==0x12)
                  rGPBDAT = (0x07<<5);       //LED4亮
       }
}

在主函数中调用
Isr_Init();
rSRCPND = 0x1<<28;
rSUBSRCPND = 0x3;
rINTPND = 0x1<<28;
rINTSUBMSK = ~(0x3);             //打开UART0发送和接收中断屏蔽
rINTMSK = ~(0x1<<28);            //打开UART0中断屏蔽    
pISR_UART0 = (U32)uartISP;  //测试数据位11 12
while(1){}
编译时出现了如图的错误,请各位大侠指点一下!


勺饮不器盛沧海,拳石频移磊泰山