__interrupt void uart_rx_tx_enter_irq( void ) { unsigned int v; // while there are interrupts to service for( v = UCA0IV; v != USCI_NONE; v = UCA0IV ) switch( v ) { case USCI_UCRXIFG: // if a receive interrupt uart_rx_irq( ); // handle the receive request break; case USCI_UCTXIFG: // if a transmit interrupt uart_tx_irq( ); // handle the transmit request break; default: // something not quite right asm( " NOP" ); // a place for a break point break; } return; }
static void uart7_tx_irq(void) { uart_tx_irq(SCIFTXI7_IRQn, 7); }
static void uart6_tx_irq(void) { uart_tx_irq(SCIFTXI6_IRQn, 6); }
static void uart5_tx_irq(void) { uart_tx_irq(SCIFTXI5_IRQn, 5); }
static void uart4_tx_irq(void) { uart_tx_irq(SCIFTXI4_IRQn, 4); }
static void uart3_tx_irq(void) { uart_tx_irq(SCIFTXI3_IRQn, 3); }
static void uart2_tx_irq(void) { uart_tx_irq(SCIFTXI2_IRQn, 2); }
static void uart1_tx_irq(void) { uart_tx_irq(SCIFTXI1_IRQn, 1); }
/* TX handler */ static void uart0_tx_irq(void) { uart_tx_irq(SCIFTXI0_IRQn, 0); }