void baro_init( void ) { adc_buf_channel(ADC_CHANNEL_BARO, &baro_board.buf, DEFAULT_AV_NB_SAMPLE); baro_board.status = BB_UNINITIALIZED; baro_board.absolute = 0; baro_board.offset = 1023; DACSet(baro_board.offset); baro_board.value_filtered = 0; #ifdef BARO_LED LED_OFF(BARO_LED); #endif }
void main(void) { //char chRxByte; //int tDuty; /* storage value of Duty Cycle */ int16_t vPeak; /* Configure the oscillator for the device */ ConfigureOscillator(); //OSCCON = 0b11110000; // 32MHz Internal Osc, SCS bits 00 for 4xPL /* Initialize I/O and Peripherals for application */ InitApp(); //vPWM = EEPROMRead(0); //vPWM = EEPROM_READ(0); vPWM = eeprom_read(0); DACSet(100); //RB1 = 1; //TRISA5=1; /* Scanning */ //ScanFrq(); while(1) { /* TODO <INSERT USER APPLICATION CODE HERE> */ if (flgTicTac == true) { flgTicTac = false; //if(cntCur==cntPerd) //{ // //RC2 = !RC2; // TURN ON LED TO CHECK IF THE INTERRUPT WAS SERVED // cntCur = 0; //} RC2 = !RC2; // TURN ON LED TO CHECK IF THE INTERRUPT WAS SERVED cntCur++; vADCAN0 = ReadADC(AN1); //vADCAN0=vADCAN0; vADCANFlt = vADCANOld+(vADCAN0-vADCANOld)/20; /* Blinking */ //Blinking(vADCANFlt); if ((vADCANFlt==vADCANOld)&&(vADCAN0!=vADCANOld)) { if ((vADCAN0>vADCANOld)) { vADCANFlt++; } else { vADCANFlt--; } } if ((RA7==1)&&(RA7Old==0)) //button Press is 1, not press is 0 { //PWMSetPeriod (8000-((uint32_t)7360*vADCANFlt)/4096); //PWMSetDutyCycle (4000-((uint32_t)7360*vADCANFlt)/8192); //PSMC1INT = 0x00; ////PWMSetPeriod (20); ////PWMSetDutyCycle (10); //(void)EEPROMWrite(vPWM,0); eeprom_write(0,vPWM); } else { PSMC1INT = 0x10; } vADCANOld = vADCANFlt; vPWM = vADCANFlt; /* send ADC data to UART */ cntUARTSend++; if ((cntUARTSend==50)) //1s will send data to UART { sprintf(chBufADC,"ADC:%d\r\n",vADCANFlt); UARTSend(chBufADC,0); cntUARTSend = 0; } else if ((cntUARTSend)%2==1) { /* ADC with interrupt at AN9*/ //(void)ReadADCINT(); } else { ; } /* Check Array of ADC values */ //vPeak = ChkPeakVal(); //if (vPeak > 0) /* ZERO is not updated */ //{ // vPeakVld = vPeak; //} RA7Old = RA7; } // if (RA5 ==1) // PWMSetPeriod (25600-((uint32_t)24960*vADCANFlt)/4096); // PWMSetDutyCycle (12800-((uint32_t)24960*vADCANFlt)/8192); //if (flgPSMC==true) //{ // PWMSetPeriod (0); // PWMSetDutyCycle (0); //} //else //{ // PWMSetPeriod (25600-((uint32_t)24960*vADCANFlt)/4096); // PWMSetDutyCycle (12800-((uint32_t)24960*vADCANFlt)/8192); //} }//while }