import test

Dependencies:   mbed

Committer:
bcostm
Date:
Fri May 13 09:21:10 2016 +0000
Revision:
0:bf84ee4ea1d2
Child:
1:89aa667d1a9b
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:bf84ee4ea1d2 1 #include "mbed.h"
bcostm 0:bf84ee4ea1d2 2
bcostm 0:bf84ee4ea1d2 3 AnalogIn in(A0);
bcostm 0:bf84ee4ea1d2 4
bcostm 0:bf84ee4ea1d2 5 #if !DEVICE_ANALOGOUT
bcostm 0:bf84ee4ea1d2 6 #error You cannot use this example as the AnalogOut is not supported on this device.
bcostm 0:bf84ee4ea1d2 7 #else
bcostm 0:bf84ee4ea1d2 8 AnalogOut out(PA_4);
bcostm 0:bf84ee4ea1d2 9 #endif
bcostm 0:bf84ee4ea1d2 10
bcostm 0:bf84ee4ea1d2 11 DigitalOut led(LED1);
bcostm 0:bf84ee4ea1d2 12
bcostm 0:bf84ee4ea1d2 13 int main()
bcostm 0:bf84ee4ea1d2 14 {
bcostm 0:bf84ee4ea1d2 15 printf("\nAnalog loop example\n");
bcostm 0:bf84ee4ea1d2 16 printf("*** Connect A0 and PA_4 pins together ***\n");
bcostm 0:bf84ee4ea1d2 17 while(1) {
bcostm 0:bf84ee4ea1d2 18 for (float out_value = 0.0f; out_value < 1.1f; out_value += 0.1f) {
bcostm 0:bf84ee4ea1d2 19 // Output value using DAC
bcostm 0:bf84ee4ea1d2 20 out.write(out_value);
bcostm 0:bf84ee4ea1d2 21 wait(0.1);
bcostm 0:bf84ee4ea1d2 22 // Read ADC input
bcostm 0:bf84ee4ea1d2 23 float in_value = in.read();
bcostm 0:bf84ee4ea1d2 24 // Display difference between two values
bcostm 0:bf84ee4ea1d2 25 float diff = fabs(out_value - in_value);
bcostm 0:bf84ee4ea1d2 26 printf("(out:%.4f) - (in:%.4f) = (%.4f) ", out_value, in_value, diff);
bcostm 0:bf84ee4ea1d2 27 if (diff > 0.05f) {
bcostm 0:bf84ee4ea1d2 28 printf("FAIL\n");
bcostm 0:bf84ee4ea1d2 29 } else {
bcostm 0:bf84ee4ea1d2 30 printf("OK\n");
bcostm 0:bf84ee4ea1d2 31 printf("\033[1A"); // Moves cursor up of 1 line
bcostm 0:bf84ee4ea1d2 32 }
bcostm 0:bf84ee4ea1d2 33 led = !led;
bcostm 0:bf84ee4ea1d2 34 }
bcostm 0:bf84ee4ea1d2 35 }
bcostm 0:bf84ee4ea1d2 36 }
bcostm 0:bf84ee4ea1d2 37