![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Read an analog value using ADC.
Diff: main.cpp
- Revision:
- 1:0490a15c76e4
- Parent:
- 0:c2d1ad5059da
- Child:
- 3:7cef8e5abfe5
diff -r c2d1ad5059da -r 0490a15c76e4 main.cpp --- a/main.cpp Fri Feb 21 10:22:49 2014 +0000 +++ b/main.cpp Thu Mar 12 08:15:56 2015 +0000 @@ -2,16 +2,22 @@ AnalogIn analog_value(A0); -DigitalOut myled(LED1); - -// Calculate the corresponding acquisition measure for a given value in mV -#define MV(x) ((0xFFF*x)/3300) - +DigitalOut led(LED1); + int main() { - while(1) { - uint16_t meas = analog_value.read_u16(); // Converts and read the analog input value - if (meas > MV(1000)) { // If the value is greater than 1000 mV toggle the LED - myled = !myled; + float meas; + + printf("\nAnalogIn example\n"); + + while(1) { + meas = analog_value.read(); // Converts and read the analog input value (value from 0.0 to 1.0) + meas = meas * 3300; // Change the value to be in the 0 to 3300 range + printf("measure = %.0f mV\n", meas); + if (meas > 2000) { // If the value is greater than 2V then switch the LED on + led = 1; + } + else { + led = 0; } wait(0.2); // 200 ms }