/* * シリアルI/Oポートに対する割込み処理 */ static void uart_rx_isr_siop(SIOPCB *siopcb) { if (uart_getready(siopcb)) { /* * 受信通知コールバックルーチンを呼び出す. */ uart_ierdy_rcv(siopcb->exinf); } }
/* * SIOの割込みサービスルーチン */ void int_timer2() { SIOPCB *siopcb = &(siopcb_table[0]); sil_rew_mem((VP)(TADR_TC_BASE+TC_WINDOW*2+TOFF_TC_SR)); if (uart_getready(siopcb)) { /* * 受信通知コールバックルーチンを呼び出す. */ uart_ierdy_rcv(siopcb->exinf); } }
/* * シリアルI/Oポートに対する割込み処理 */ static void uart_isr_siop(SIOPCB *siopcb) { /* * エッジ割込みのため割込み処理前にACK */ intc_ack_interrupt(1 << (UARTINTLVL - 1)); if (uart_getready(siopcb)) { /* * 受信通知コールバックルーチンを呼び出す. */ uart_ierdy_rcv(siopcb->exinf); } if (uart_putready(siopcb)) { /* * 送信可能コールバックルーチンを呼び出す. */ uart_ierdy_snd(siopcb->exinf); } }