Reading analog input with an STM32F103C8T6 board. ADC is calibrated to achieve higher accuracy.
Reading analog input with STM32F103C8T6 board
Import the program into your online compiler.
Schematic
main.cpp@2:b0563c2ef616, 2019-02-05 (annotated)
- Committer:
- hudakz
- Date:
- Tue Feb 05 13:09:02 2019 +0000
- Revision:
- 2:b0563c2ef616
- Parent:
- 1:7522adef9bd0
Updated.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hudakz | 0:5d7148c1f26a | 1 | #include "mbed.h" |
hudakz | 1:7522adef9bd0 | 2 | #include "AnalogIn.h" |
hudakz | 1:7522adef9bd0 | 3 | |
hudakz | 1:7522adef9bd0 | 4 | const float REF_VOLT = 3300; // Reference voltage in millivolts |
hudakz | 0:5d7148c1f26a | 5 | |
hudakz | 1:7522adef9bd0 | 6 | Serial pc(PA_2, PA_3); |
hudakz | 2:b0563c2ef616 | 7 | DigitalOut myled(PC_13); |
hudakz | 1:7522adef9bd0 | 8 | AnalogIn analogIn(PA_0); // Create an analog input |
hudakz | 1:7522adef9bd0 | 9 | float voltage; |
hudakz | 0:5d7148c1f26a | 10 | |
hudakz | 1:7522adef9bd0 | 11 | int main() |
hudakz | 1:7522adef9bd0 | 12 | { |
hudakz | 0:5d7148c1f26a | 13 | while (1) { |
hudakz | 0:5d7148c1f26a | 14 | voltage = analogIn.read() * REF_VOLT; // convert analog to digital |
hudakz | 0:5d7148c1f26a | 15 | pc.printf("voltage = %.0f mV\r\n", voltage); |
hudakz | 0:5d7148c1f26a | 16 | myled = !myled; |
hudakz | 0:5d7148c1f26a | 17 | wait_ms(1000); |
hudakz | 0:5d7148c1f26a | 18 | } |
hudakz | 0:5d7148c1f26a | 19 | } |
hudakz | 0:5d7148c1f26a | 20 |