这里只给出一个中断处理程序框架。在UART 通讯应用中,关键要处理好中 断处理程序和后台主程序(或其他任务)之间的信息交互体系。 void uart_irq(void *context,alt_u32 interrupt) { int iRet; unsigned short int data,status; /* 读取状态寄存值 */ status = IORD_ALTERA_AVALON_UART_STATUS(UART_0_BASE); /* 错误处理 */ …… /* 读取数据入缓冲区 */ data =IORD_ALTERA_AVALON_UART_RXDATA(UART_0_BASE); …… /* 清除状态寄存器相关位 */ IOWR_ALTERA_AVALON_UART_STATUS(UART_0_BASE, 0) } |