interrupt void scibRxFifoIsr(void)
{
while(ScibRegs.SCIRXST.bit.RXRDY!=1)
{}
rx_data [rx_count++]= ScibRegs.SCIRXBUF.all & 0xFF;
PieCtrlRegs.PIEACK.all|=0x100;
}
上述的代码是我设置的串口接收中断程序,主程序中对中断的设置都应该没问题,程序也可以进入串口接收中断,用串口调试助手发送数据,但SCIRXBUF(接收缓冲)中始终没有数据,为什么呢?请各位高手帮分析一下,非常感谢!
Jones Chen:
能进入此中断么?设个断点试试?
你设置的接收FIFO是多长字节一个中断?
你用示波器测量一下有数据到达SCIb的引脚么?