打印

TQ2440开发板UART读中断无法触发

[复制链接]
1146|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HuskyHe|  楼主 | 2014-3-29 18:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  小弟编写了一个裸机程序,发现UART0的读中断无法触发。经测试,UART0可以利用查询法顺利完成对数据的读取和发送工作,而且,时钟中断和按键中断功能也都正常。我也在程序中完成了将相应中断屏蔽位置零,以及将UART中断处理函数加载到二级中断表的工作,可以无论如何不能触发读中断。各位前辈遇到过类似情况吗?请帮我解惑,感激不尽。下面是我的一些代码:
void uart0_irq_init()  
{
        rINTMSK &= ~(1<<28);
        rINTSUBMSK &= ~((1<<0)|(1<<1));
}
void uart0_isr_init()
{
        pISR_UART0 = (unsigned int)uart0_isr;
}
void __irq uart0_isr()
{
        unsigned char buf;
        if(rSUBSRCPND & (1<<0))
        {
               
                buf = rURXH0;
               
                led1_on();
                /*delay();
                led1_off();*/
                rSUBSRCPND |= (1<<0);
                rSRCPND |= (1<<28);
                rSRCPND |= (1<<28);
               
                rUTXH0 = buf;
        }
        else if(rSUBSRCPND & (1<<1))
        {
               
                led2_on();
                /*delay();
                led2_off();*/
                rSUBSRCPND |= (1<<1);
                rSRCPND |= (1<<28);
                rSRCPND |= (1<<28);
        }
       
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝