atsushi uno
/
Nucleo_analog_loop-L152
for Test exportting
main.cpp@0:43b96ff9ae6a, 2020-02-16 (annotated)
- Committer:
- aie
- Date:
- Sun Feb 16 04:35:47 2020 +0000
- Revision:
- 0:43b96ff9ae6a
Commit export test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aie | 0:43b96ff9ae6a | 1 | #include "mbed.h" |
aie | 0:43b96ff9ae6a | 2 | |
aie | 0:43b96ff9ae6a | 3 | AnalogIn in(A0); |
aie | 0:43b96ff9ae6a | 4 | |
aie | 0:43b96ff9ae6a | 5 | #if !DEVICE_ANALOGOUT |
aie | 0:43b96ff9ae6a | 6 | #error You cannot use this example as the AnalogOut is not supported on this device. |
aie | 0:43b96ff9ae6a | 7 | #else |
aie | 0:43b96ff9ae6a | 8 | AnalogOut out(PA_4); |
aie | 0:43b96ff9ae6a | 9 | #endif |
aie | 0:43b96ff9ae6a | 10 | |
aie | 0:43b96ff9ae6a | 11 | DigitalOut led(LED1); |
aie | 0:43b96ff9ae6a | 12 | |
aie | 0:43b96ff9ae6a | 13 | int main() |
aie | 0:43b96ff9ae6a | 14 | { |
aie | 0:43b96ff9ae6a | 15 | printf("\nAnalog loop example\n"); |
aie | 0:43b96ff9ae6a | 16 | printf("*** Connect A0 and PA_4 pins together ***\n"); |
aie | 0:43b96ff9ae6a | 17 | while(1) { |
aie | 0:43b96ff9ae6a | 18 | for (float out_value = 0.0f; out_value < 1.1f; out_value += 0.1f) { |
aie | 0:43b96ff9ae6a | 19 | // Output value using DAC |
aie | 0:43b96ff9ae6a | 20 | out.write(out_value); |
aie | 0:43b96ff9ae6a | 21 | wait(0.1); |
aie | 0:43b96ff9ae6a | 22 | // Read ADC input |
aie | 0:43b96ff9ae6a | 23 | float in_value = in.read(); |
aie | 0:43b96ff9ae6a | 24 | // Display difference between two values |
aie | 0:43b96ff9ae6a | 25 | float diff = fabs(out_value - in_value); |
aie | 0:43b96ff9ae6a | 26 | printf("(out:%.4f) - (in:%.4f) = (%.4f) ", out_value, in_value, diff); |
aie | 0:43b96ff9ae6a | 27 | if (diff > 0.05f) { |
aie | 0:43b96ff9ae6a | 28 | printf("FAIL\n"); |
aie | 0:43b96ff9ae6a | 29 | } else { |
aie | 0:43b96ff9ae6a | 30 | printf("OK\n"); |
aie | 0:43b96ff9ae6a | 31 | printf("\033[1A"); // Moves cursor up of 1 line |
aie | 0:43b96ff9ae6a | 32 | } |
aie | 0:43b96ff9ae6a | 33 | led = !led; |
aie | 0:43b96ff9ae6a | 34 | } |
aie | 0:43b96ff9ae6a | 35 | } |
aie | 0:43b96ff9ae6a | 36 | } |
aie | 0:43b96ff9ae6a | 37 |