void USCIAB0TX_ISR(void) { /* USCI_A0 UART interrupt? */ if (UC0IFG & UCA0TXIFG) uart_tx_isr(); /* USCI_B0 I2C TX RX interrupt. */ if ((UC0IFG & (UCB0TXIFG | UCB0RXIFG)) != 0) i2c_txrx_isr(); }
void USCIB1_ISR(void) { still_asleep = stay_asleep; /* USCI_B1 I2C state change interrupt. */ if ((UCB1CTL0 & UCMODE_3) == UCMODE_3 && (UCB1IFG & (UCALIFG | UCNACKIFG | UCSTTIFG | UCSTPIFG)) != 0) i2c_state_isr(); /* USCI_B1 I2C TX RX interrupt. */ if ((UCB1CTL0 & UCMODE_3) == UCMODE_3 && (UCB1IFG & (UCTXIFG | UCRXIFG)) != 0) i2c_txrx_isr(); if (still_asleep != stay_asleep) __bic_SR_register_on_exit(LPM4_bits); }
void USCIAB0TX_ISR(void) { still_asleep = stay_asleep; /* USCI_A0 UART interrupt? */ if (UC0IFG & UCA0TXIFG) uart_tx_isr(0); /* USCI_B0 I2C TX RX interrupt. */ if ((UCB0CTL0 & UCMODE_3) == UCMODE_3 && (UC0IFG & (UCB0TXIFG | UCB0RXIFG)) != 0) i2c_txrx_isr(); if (still_asleep != stay_asleep) __bic_SR_register_on_exit(LPM4_bits); }