int main(void) { __disable_interrupt(); sys_init(); __delay_cycles(8000000);//Защита от коротких нажатий P1OUT |= BIT6; //защелкиваем питание led(1); ADC10_Init(); AFE_Init(); rf_init(); TACCR0 = 0xFFFF;// запуск таймера __enable_interrupt(); while (1) { if(rf_rx_data_ready_fg) { onRF_MessageReceived(); rf_rx_data_ready_fg = 0; } if (packetDataReady){ uchar packetSize = assemblePacket(); rf_send((uchar*)&packet_buf[0], packetSize); packetDataReady = 0; } if(rf_rx_data_ready_fg || packetDataReady){ // идем по циклу снова }else{ __bis_SR_register(CPUOFF + GIE); // Уходим в спящий режим } } }
int main(void) { __disable_interrupt(); sys_init(); led(1); ADC10_Init(); AFE_Init(); rf_init(); TACCR0 = 0xFFFF; // запуск таймера __enable_interrupt(); while (1) { if (rf_rx_data_ready_fg) { onRF_MessageReceived(); rf_rx_data_ready_fg = 0; } if (packetDataReady) { uchar packetSize = assemblePacket(); rf_send((uchar*) &packet_buf[0], packetSize); packetDataReady = 0; } if (rf_rx_data_ready_fg || packetDataReady) { ; // идем по циклу снова } else { __bis_SR_register(CPUOFF + GIE); // Уходим в спящий режим } } }