| 
 
| 写了LPC2368 的UART2的 代码,可就是进不了中断<br />代码如下:<br /> <br />//中断部分<br /><br />void __irq IRQ_UART2 (void)<br />{<br />    static        INT8U    i;<br />    <br />    <br />    if ((U2IIR & 0x0F) == 0x04)                        // 设置接收到新的数据标志 //<br />    {<br />        <br />        if(i<10)<br />        {<br />            rcvbuf2 = U2RBR;                    // 读取FIFO的数据,并清除中断 //<br />            i+=1;<br />            if(i==10)<br />            {<br />                i=0;<br />                rcv_new = 1;<br />            }    <br />        }    <br />    }    <br />        <br />    U2IER = 0x00;//进中断后暂时关闭中断<br />    VICVectAddr = 0x00;                                // 中断处理结束 //<br />    <br />}<br /><br /><br /><br /><br />*********************************************************************************************************<br />* 函数名称: UART2Init( INT32U baudrate )<br />* 描    述: 串口初始化,设置为8位数据位,1位停止位,无奇偶校验,波特率4800<br />* 入口参数: <br />* 出口参数:<br />* 编 写 人:<br />* 编写日期:<br />* 修改日期:                                 <br />*********************************************************************************************************<br />*/<br /><br />void     UART2Init( INT32U baudrate )<br />{<br />    INT16U Fdiv;<br />    <br />    PINSEL0 =(PINSEL0&0xff0fffff )|0x00500000;       /* RxD2 and TxD2 */<br />    <br />    U2LCR = 0x83;                                    /* DLAB=1,允许设置波特率 */<br />    Fdiv  = (Fpclk / 16) / baudrate;                /* 设置波特率 */<br />    U2DLM = Fdiv / 256;<br />    U2DLL = Fdiv % 256;<br />    U2LCR = 0x03;<br />    //2007年5月30号更改,禁止使能FIFO<br />    //U0FCR = 0x01;                                    // 使能FIFO,并设置触发点为1字节 ///<br />    U2FCR=0x01;<br />    <br />    U2IER = 0x01;<br />    VICIntSelect = 0x00;<br />    VICVectCntl2 = 0x20 | 0X1C;                        // UART0分配到IRQ slot0,即最高优先级//<br />    VICVectAddr2 = (INT32U)IRQ_UART2;<br />    VICIntEnable =1<<28;//使能UART0中断        <br />}<br /><br /> | 
 |