Beispiel #1
0
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);
}
Beispiel #2
0
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);
		}
	}
}