示例#1
0
void main(void){
  init_general();// Set general runtime configuration bits
  init_gpio_pins(); // Set all I/O pins to low outputs
  init_oscillator(0);// Initialize oscillator configuration bits
  init_timer2();// Initialize timer2 (millis)
  init_adc(NULL); // Initialize ADC module
  init_termination(NOT_TERMINATING);
  init_adcs();// Initialize all of the ADC's
  init_can(); // Initialize CAN

  canAnalogMillis = canDiagMillis = 0;
  ADCCON3bits.GSWTRG = 1; // Initial ADC Conversion?
  STI();// Enable interrupts


  while(1){
    update_analog_channels();
    strain_calc();

    if(millis - canAnalogMillis >= CAN_ANALOG_INTV){
      CANAnalogChannels();
      canAnalogMillis = millis;
    }

    if(millis - canDiagMillis >= CAN_DIAG_INTV){
      CANdiag();
      canDiagMillis = millis;
    }

    sample_temp(); // Sample internal and external temperature sensors

  }
}
示例#2
0
int main(void)
{
        unsigned long int adval;
        init_adcs();

        while(1) {
                AD1CHSbits.CH0SA = 14;
                AD1CON1bits.SAMP = 1;
                while(!AD1CON1bits.DONE);
                adval = *((&ADC1BUF0) + 14);
                adval = ((3300L*adval)/4096L);
                //adval = 3*((4096L/adval)*3.3);
                __builtin_nop();
        }       
        return 0;
}