Reads all the ADC ports available on the Nucleo F303K8 and prints the results in Value Read, Volts and 16 bit unsigned short.
main.cpp
00001 /* Example of Reading all the ADC pins available on the Nucleo_F303K8. 00002 00003 By Joseph Ellsworth CTO of A2WH 00004 Take a look at A2WH.com Producing Water from Air using Solar Energy 00005 March-2016 License: https://developer.mbed.org/handbook/MIT-Licence 00006 */ 00007 00008 #include "mbed.h" 00009 00010 // Host PC Communication channels 00011 Serial pc(USBTX, USBRX); // tx, rx 00012 00013 00014 AnalogIn pa7(PA_7); 00015 AnalogIn pa6(PA_6); 00016 AnalogIn pa5(PA_5); 00017 AnalogIn pa4(PA_4); 00018 //AnalogIn pa2(PA_2); // conflicts with USB TX 00019 //AnalogIn pa3(PA_3); // conflicts with USB RX 00020 AnalogIn pa1(PA_1); 00021 AnalogIn pa0(PA_0); 00022 AnalogIn pb0(PB_0); 00023 AnalogIn pb1(PB_1); 00024 00025 DigitalOut myled(LED1); 00026 const float voltMeterARef = 3.3; 00027 00028 float readPrint(AnalogIn ain, char *label) { 00029 float tval = ain.read(); 00030 float volts = tval * voltMeterARef; 00031 float perc = tval * 100.0; 00032 unsigned short tvalu16 = ain.read_u16 (); 00033 00034 printf("adc %s R=%3.3f V=%3.3f%% U16=%u\r\n",label, tval, volts, tvalu16); 00035 00036 return tval; 00037 } 00038 00039 00040 int main() { 00041 while(1) { 00042 myled = !myled; // toggle led 00043 readPrint(pa7, "PA_7"); 00044 readPrint(pa6, "PA_6"); 00045 readPrint(pa5, "PA_5"); 00046 readPrint(pa4, "PA_4"); 00047 //readPrint(pa3, "PA_3"); 00048 //readPrint(pa2, "PA_2"); 00049 readPrint(pa1, "PA_1"); 00050 readPrint(pa0, "PA_0"); 00051 00052 readPrint(pb0, "PB_0"); 00053 readPrint(pb1, "PB_1"); 00054 printf("\r\n\r\n"); 00055 wait(7.0); 00056 } 00057 }
Generated on Sun Jul 17 2022 04:30:16 by 1.7.2