Курсовая работа: Проектування пристрою пожежної сигналізації
{
RxByteCtr = 2; // Загружаем RX счетчик битов
UCB0CTL1 |= UCTXSTT; // Запускаем I2C
__bis_SR_register(CPUOFF + GIE); // Enter LPM0, активируем прерывания
// Сохраняем в LPM0 до получения
// всех данных RX'd
// if(P4IN &= ~0x01)
if (OPTOPARA &= ~0x01)
{
if (RxWord < 0x1900) // >25?
P1OUT &= ~0x01; // No, P1.0 = 0
else
P1OUT |= 0x01; // Yes, P1.0 = 1
__disable_interrupt();
TACCTL0 |= CCIE; // TACCR0 активируем прерывания
__bis_SR_register(CPUOFF + GIE); // Enter LPM0, активируем прерывание
// Remain in LPM0 until TACCR0
// interrupt occurs
TACCTL0 &= ~CCIE; // TACCR0 отключаем прерывание
}
}
}
#pragma vector = TIMERA0_VECTOR
__interrupt void TA0_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF); // Exit LPM0
}
// The USCIAB0TX_ISR is structured such that it can be used to receive any
// 2+ number of bytes by pre-loading RxByteCtr with the byte count.