int main(int argc, char** argv) { uint8_t dummy; start_oscillator_low(); delay_ms(5); initial_port(); initial_isr(); initial_fvr(); initial_adc(); initial_ccp_tmr1(); initial_spi(); ADCON0bits.ADGO = 1; while (1) { while(ADIF == 0); ADIF = 0; PIR1bits.CCP1IF = 0; adc_buffer[adc_buf_wptr][adc_buf_widx++] = ((uint16_t)ADRESL << 8) | ADRESH; if(adc_buf_widx >= 500) { adc_buf_rptr = adc_buf_wptr; adc_buf_ridx = 0; adc_buf_read_ptr = (uint8_t *)&(adc_buffer[adc_buf_rptr][0]); dummy = SSPBUF; SSPBUF = adc_buf_read_ptr[adc_buf_ridx++]; // Interrupt BLE RA2 = 1; RC1 = 1; RC6 = 1; start_oscillator_fast(); adc_buf_widx = 0; adc_buf_wptr = (adc_buf_wptr + 1) % 2; } if(adc_buf_widx == 250) { RA2 = 0; RC1 = 0; RC6 = 0; } } return (EXIT_SUCCESS); }
int main(void) { int i = 0; driver_stat.statusAdc = HALT_ADC; for(i =0; i < 4;i++) { driver_stat.gain[i] = 0; driver_stat.rec_message[i] = 0; } driver_stat.is_overload = 0; driver_stat.enable_monitoring = 0; driver_stat.mut = 0; test_stat.statusTest = HALT_TEST; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3); /* Setup SysTick Timer for 1 ms interrupts */ if (SysTick_Config(SystemCoreClock / 10)) { /* Capture error */ while (1) {} } initial_spi(); initial_gpio(); initial_adc(); initial_i2c(); initial_mco(); pga2505_write(); driver_stat.enable_monitoring = 1; while(1) { if(test_stat.statusTest != HALT_TEST) { *spi3 = 100 + i; __DSB(); *spi3 = 200 + i; *spi1 = 300 + i; __DSB(); *spi1 = 400 + i; i++; if( i > 100) i = 0; if(test_stat.statusTest == DURING_STOP_TEST) test_stat.statusTest = HALT_TEST; Delay(2); } } }