void USCIAB0RX_ISR(void) { /* USCI_A0 UART interrupt? */ if (UC0IFG & UCA0RXIFG) uart_rx_isr(); /* USCI_B0 I2C state change interrupt. */ if ((UCB0STAT & (UCALIFG | UCNACKIFG | UCSTTIFG | UCSTPIFG)) != 0) i2c_state_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 USCIAB0RX_ISR(void) { still_asleep = stay_asleep; /* USCI_A0 UART interrupt? */ if (UC0IFG & UCA0RXIFG) uart_rx_isr(0); /* USCI_B0 I2C state change interrupt. */ if ((UCB0STAT & (UCALIFG | UCNACKIFG | UCSTTIFG | UCSTPIFG)) != 0) i2c_state_isr(); if (still_asleep != stay_asleep) __bic_SR_register_on_exit(LPM4_bits); }