打印
[ZLG-ARM]

求助关于中断处理时间

[复制链接]
1318|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qguangdong|  楼主 | 2008-5-13 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void __irq UART0_Exception(void)
{
    static  uint8 IIR,temp;
    static uint8 i = 0;
    static volatile uint8 rcv_buf[23];
    static  uint8 revstart = FALSE;
    while(((IIR = U0IIR) & 0x01) == 0)        //有中断未处理完
   {    switch (IIR & 0x0e)
        {
            case 0x02:                                  //THRE中断
                break;
            case 0x04:
        temp = U0RBR;
        if(temp == '@')
        {
            revstart = TRUE;
        }
        if( revstart == TRUE )
        {
            rcv_buf = temp;
            i++;
            if(passflag == FALSE)
            {
            if(i>=7)
            {   
                if((rcv_buf[1]=='D')&&(rcv_buf[2]=='E')&&(rcv_buf[3]=='C'))
                {
                    passflag = TRUE;
                }
                for( i = 0;i < 7 ; i++ )
               {  
                    rcv_buf = '0';
               }
                i = 0;
            }
            }
            else
           {...........
                      .............}
            
                   break;
            case 0x06:
                 temp = U0LSR;
                 break;                               //接收线状态
            case 0x0c:                                //字符超时指示
                 break;
            default :
                   break;
        }
    } 
    VICVectAddr = 0;            // 通知中断控制器中断结束
}

相关帖子

沙发
qguangdong|  楼主 | 2008-5-13 15:07 | 只看该作者

*

问题如下:
    LPC2132串口中断程序,响应7次接收中断,接受到7个字符后,经比较,确定接受正确后,完成相应功能.将波特率设置为2400时接收正确,设为9600后则不正确.感觉像是中断处理的时间过长,使下次中断不能正确响应,漏掉了一些字符.可计算一下,9600的速率传一字节.耗时1ms,1ms该够我处理以上程序了.
     不解,望高人指点

使用特权

评论回复
板凳
zlgarm| | 2008-5-13 20:17 | 只看该作者

UART

qguangdong 您好!
     您可以利用UART的FIFO的功能。
                     By zlgarm_lijintao

使用特权

评论回复
地板
qguangdong|  楼主 | 2008-5-14 10:46 | 只看该作者

*

谢了

使用特权

评论回复
5
qguangdong|  楼主 | 2008-5-15 11:52 | 只看该作者

*

楼上怎讲?

使用特权

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

本版积分规则

15

主题

111

帖子

0

粉丝