2 * Hyper Operating System Application Framework
4 * @file at91uartdrv_isr.c
5 * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
7 * Copyright (C) 2006-2007 by Project HOS
8 * http://sourceforge.jp/projects/hos/
12 #include "at91uartdrv_local.h"
16 void At91UartDrv_Isr(VPARAM Param)
22 self = (C_AT91UARTDRV *)Param;
24 uwCsr = AT91UART_REG_READ(self, AT91UART_US_CSR);
27 if ( uwCsr & 0x00000001 )
31 c = AT91UART_REG_READ(self, AT91UART_US_RHR);
32 StreamBuf_SendChar(&self->StmBufRecv, c);
33 uwCsr = AT91UART_REG_READ(self, AT91UART_US_CSR);
34 } while ( uwCsr & 0x00000001 );
36 SysEvt_Set(self->hEvtRecv);
40 if ( uwCsr & 0x00000002 )
42 AT91UART_REG_WRITE(self, AT91UART_US_IDR, 0x00000002); /* 送信割り込み禁止 */
43 SysEvt_Set(self->hEvtSend);