Hallo,
ich habe noch eine Frage zum STM32F4 zusammen mit dem chibiOS.
Wie lese ich den Buffer der ADC-Wandlung aus?
Z.B. wollte ich eine LED anschalten wenn der Wert größer als 100 ist.
Sozusagen:
1
if ( Digitalwert >100 )
2
palSetPad(GPIOD, GPIOD_LED3);
Hier mein Code:
1
/*........*/
2
3
/* Total number of channels to be sampled by a single ADC operation.*/
4
#define ADC_GRP1_NUM_CHANNELS 1
5
6
/* Depth of the conversion buffer, channels are sampled eight times each.*/
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.