Il y a 7 heures
Bonjour,
Dans le cadre UxI, 'il est possible d'accélérer de près du double la lecture des ports ADC dans la routine d'échantillonage U et I. en utilisant adc1_get_raw au lieu de analogRead().
Dans le cadre UxI, 'il est possible d'accélérer de près du double la lecture des ports ADC dans la routine d'échantillonage U et I. en utilisant adc1_get_raw au lieu de analogRead().
Code :
int UxI::getSamples() {
int iStore = 0;
int valueI = adc1_get_raw(ADC1_CHANNEL_7);
int valueV = valueI;
unsigned long beginMicro = micros();
unsigned long curMicro;
samples = 0;
while ((curMicro = micros()) - beginMicro <= LOOP_SAMPLES_DURATION_MICROS) {
iStore = (curMicro % SAMPLE_TIME_MICROS) / RATIO_COUNT;
volt[iStore] = adc1_get_raw(ADC1_CHANNEL_4) - valueV;
amp[iStore] = adc1_get_raw(ADC1_CHANNEL_5) - valueI;
samples++;
}
return samples;
}

