(void)err; } /* * ADC conversion group. * Mode: Continuous, 16 samples of 2 channels, HS triggered by * GPT4-TRGO. * Channels: Sensor, VRef. */ static const ADCConversionGroup adcgrpcfg1 = { true, ADC_GRP1_NUM_CHANNELS, adccallback, adcerrorcallback, 0, /* CR1 */ ADC_CR2_EXTEN_RISING | ADC_CR2_EXTSEL_SRC(12), /* CR2 */ ADC_SMPR1_SMP_SENSOR(ADC_SAMPLE_144) | ADC_SMPR1_SMP_VREF(ADC_SAMPLE_144), 0, /* SMPR2 */ ADC_SQR1_NUM_CH(ADC_GRP1_NUM_CHANNELS), /* SQR1 */ 0, /* SQR1 */ ADC_SQR3_SQ2_N(ADC_CHANNEL_SENSOR) | ADC_SQR3_SQ1_N(ADC_CHANNEL_VREFINT) }; /*===========================================================================*/ /* Application code. */ /*===========================================================================*/ /* * This is a periodic thread that does absolutely nothing except flashing * a LED attached to TP1. */
{ 1000, // clock: 1kHz NULL, // callback function (not used) 0, // CR2 0 // DIER }; /* Instrument conversion group */ static const ADCConversionGroup adc_con_group_1 = { TRUE, /* circular mode */ 1, /* number of channels in this con_group */ adc_inst_callback, adc_error_callback, 0, /* ADC_CR1 */ /* cr2: Clock the ADC to timer 8 TRGO event*/ ADC_CR2_EXTSEL_SRC(14) | ADC_CR2_EXTEN_0, /* smpr1+2: set all channels to 40 cycles per conversion (28+12) */ ADC_SMPR1_SMP_AN11(2)| ADC_SMPR1_SMP_AN12(2)| ADC_SMPR1_SMP_AN13(2), ADC_SMPR2_SMP_AN0(2) | ADC_SMPR2_SMP_AN1(2) | ADC_SMPR2_SMP_AN2(2), ADC_SQR1_NUM_CH(1), /* sqr1: set 1 channel in the group */ 0, /* sqr2: no higher channels being sampled */ /* sqr3: set the two channels to sample */ ADC_SQR3_SQ1_N(INST_IN_CHN) }; /* FX inputs conversion group */ static const ADCConversionGroup adc_con_group_2 = { TRUE, /* circular mode */ 3, /* number of channels in this con group */ adc_fx_callback, adc_error_callback,