Reading analog input with an STM32F103C8T6 board. ADC is calibrated to achieve higher accuracy.

Dependencies:   mbed

Reading analog input with STM32F103C8T6 board

Import the program into your online compiler.

Schematic

/media/uploads/hudakz/stm32f103c8t6_aanalogin.png

Committer:
hudakz
Date:
Tue Feb 05 13:09:02 2019 +0000
Revision:
2:b0563c2ef616
Parent:
1:7522adef9bd0
Updated.

Who changed what in which revision?

UserRevisionLine numberNew 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