Marcel H. schrieb:
> /*
>  * ADC samples buffer.
>  */
> static adcsample_t samples1[ADC_GRP1_NUM_CHANNELS * ADC_GRP1_BUF_DEPTH];
>
Hi Marcel,
samples1 ist dein buffer da stehen die samples drin, darüber kannste n 
Mittelwert bilden oder die Werte wie auch immer auswerten.
Bei deinen Einstellungen hast du also die letzten 8 Werte in dem Puffer 
stehen. Oder du reduzierst ADC_GRP1_BUF_DEPTH auf 1 und wertest einfach 
diesen einen Wert zyklisch aus.
Wenn es ganz schön machen willst machst das in der Callback des ADC 
Treibers.
1  | static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
 | 
2  |    if ( buffer[0] >100 )
  | 
3  |       palSetPad(GPIOD, GPIOD_LED3);  
  | 
4  | 
  | 
5  | }
  | 
6  | 
  | 
7  | /*
  | 
8  |  * ADC conversion group.
  | 
9  |  * Mode:        Linear buffer, 4 samples of 2 channels, SW triggered.
  | 
10  |  * Channels:    IN11   (48 cycles sample time)
  | 
11  |  *              Sensor (192 cycles sample time)
  | 
12  |  */
  | 
13  | static const ADCConversionGroup adcgrpcfg1 = {
 | 
14  |   FALSE,
  | 
15  |   ADC_GRP1_NUM_CHANNELS,
  | 
16  |   adccallback,
  | 
17  |   NULL,
  | 
18  |   0,                        /* CR1 */
  | 
19  |   ADC_CR2_SWSTART,          /* CR2 */
  | 
20  |   ADC_SMPR1_SMP_AN11(ADC_SAMPLE_3),
  | 
21  |   0,                        /* SMPR2 */
  | 
22  |   ADC_SQR1_NUM_CH(ADC_GRP1_NUM_CHANNELS),
  | 
23  |   0,                        /* SQR2 */
  | 
24  |   ADC_SQR3_SQ1_N(ADC_CHANNEL_IN11)
  | 
25  | };
  | 
Mit der Callback und den Settings des Kanals sollte das gehen.