FormazioneSitael / Mbed 2 deprecated SITAEL_CBS-ADC

Dependencies:   mbed

Committer:
pinofal
Date:
Fri Jul 27 12:42:24 2018 +0000
Revision:
2:c15e238b636b
Test CBS-ADC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pinofal 2:c15e238b636b 1 // Tested : NUCLEO-F401RE
pinofal 2:c15e238b636b 2 #include "mbed.h"
pinofal 2:c15e238b636b 3 #include "AnalogIn.h"
pinofal 2:c15e238b636b 4
pinofal 2:c15e238b636b 5 // Input collegato all'ADC
pinofal 2:c15e238b636b 6 AnalogIn myAnalogIn0(PA_0);
pinofal 2:c15e238b636b 7 AnalogIn myAnalogIn1(PA_1);
pinofal 2:c15e238b636b 8 AnalogIn myAnalogIn4(PA_4);
pinofal 2:c15e238b636b 9 AnalogIn myAnalogIn8(PB_0);
pinofal 2:c15e238b636b 10 AnalogIn myAnalogIn10(PC_0);
pinofal 2:c15e238b636b 11 AnalogIn myAnalogIn11(PC_1);
pinofal 2:c15e238b636b 12 AnalogIn myAnalogIn12(PC_2);
pinofal 2:c15e238b636b 13
pinofal 2:c15e238b636b 14
pinofal 2:c15e238b636b 15 // seriale di collegamento con il PC
pinofal 2:c15e238b636b 16 Serial pc(SERIAL_TX, SERIAL_RX);
pinofal 2:c15e238b636b 17
pinofal 2:c15e238b636b 18 // Output LED di diagnostica
pinofal 2:c15e238b636b 19 DigitalOut myLed(LED2);
pinofal 2:c15e238b636b 20
pinofal 2:c15e238b636b 21
pinofal 2:c15e238b636b 22 // valore letto dagli ADC
pinofal 2:c15e238b636b 23 unsigned short usReadADC0;
pinofal 2:c15e238b636b 24 unsigned short usReadADC1;
pinofal 2:c15e238b636b 25 unsigned short usReadADC4;
pinofal 2:c15e238b636b 26 unsigned short usReadADC8;
pinofal 2:c15e238b636b 27 unsigned short usReadADC10;
pinofal 2:c15e238b636b 28 volatile unsigned short usReadADC11;
pinofal 2:c15e238b636b 29 volatile unsigned short usReadADC12;
pinofal 2:c15e238b636b 30
pinofal 2:c15e238b636b 31
pinofal 2:c15e238b636b 32 //*******************
pinofal 2:c15e238b636b 33 // Loop Principale
pinofal 2:c15e238b636b 34 //*******************
pinofal 2:c15e238b636b 35 int main()
pinofal 2:c15e238b636b 36 {
pinofal 2:c15e238b636b 37 // carattere ricevuto dal PC su seriale
pinofal 2:c15e238b636b 38 char cReadChar ='\0';
pinofal 2:c15e238b636b 39
pinofal 2:c15e238b636b 40 // configura velocità della comunicazione seriale su USB-VirtualCom e invia messaggio di benvenuto
pinofal 2:c15e238b636b 41 //pc.baud(56000); //9600 bps
pinofal 2:c15e238b636b 42 pc.baud(9600); //9600 bps
pinofal 2:c15e238b636b 43
pinofal 2:c15e238b636b 44
pinofal 2:c15e238b636b 45 // ciclo principale
pinofal 2:c15e238b636b 46 while(true)
pinofal 2:c15e238b636b 47 {
pinofal 2:c15e238b636b 48 if(pc.readable())
pinofal 2:c15e238b636b 49 {
pinofal 2:c15e238b636b 50 // cattura il carattere ricevuto su seriale
pinofal 2:c15e238b636b 51 cReadChar=pc.getc();
pinofal 2:c15e238b636b 52 // se carattere ricevuto = 'A' acquisisci da ADC0
pinofal 2:c15e238b636b 53 switch(cReadChar)
pinofal 2:c15e238b636b 54 {
pinofal 2:c15e238b636b 55 case 'A': // ADC0
pinofal 2:c15e238b636b 56 {
pinofal 2:c15e238b636b 57 // acquisisce dato dal pin A0 e trasmette al PC
pinofal 2:c15e238b636b 58 usReadADC0 = myAnalogIn0.read_u16();
pinofal 2:c15e238b636b 59 pc.printf("%5d", usReadADC0);
pinofal 2:c15e238b636b 60 //pc.printf("%5d", 32000);
pinofal 2:c15e238b636b 61 } break ;
pinofal 2:c15e238b636b 62 case 'B': // ADC1
pinofal 2:c15e238b636b 63 {
pinofal 2:c15e238b636b 64 // acquisisce dato dal pin A1 e trasmette al PC
pinofal 2:c15e238b636b 65 usReadADC1 = myAnalogIn1.read_u16();
pinofal 2:c15e238b636b 66 pc.printf("%5d", usReadADC1);
pinofal 2:c15e238b636b 67 //pc.printf("%5d", 16000);
pinofal 2:c15e238b636b 68
pinofal 2:c15e238b636b 69 } break ;
pinofal 2:c15e238b636b 70 case 'C': // ADC4
pinofal 2:c15e238b636b 71 {
pinofal 2:c15e238b636b 72 // acquisisce dato dal pin A2 e trasmette al PC
pinofal 2:c15e238b636b 73 usReadADC4 = myAnalogIn4.read_u16();
pinofal 2:c15e238b636b 74 pc.printf("%5d", usReadADC4);
pinofal 2:c15e238b636b 75 } break ;
pinofal 2:c15e238b636b 76 case 'D': // ADC8
pinofal 2:c15e238b636b 77 {
pinofal 2:c15e238b636b 78 // acquisisce dato dal pin A3 e trasmette al PC
pinofal 2:c15e238b636b 79 usReadADC8 = myAnalogIn8.read_u16();
pinofal 2:c15e238b636b 80 pc.printf("%5d", usReadADC8);
pinofal 2:c15e238b636b 81 } break ;
pinofal 2:c15e238b636b 82 case 'E': // ADC11
pinofal 2:c15e238b636b 83 {
pinofal 2:c15e238b636b 84 // acquisisce dato dal pin A4 e trasmette al PC
pinofal 2:c15e238b636b 85 usReadADC11 = myAnalogIn11.read_u16();
pinofal 2:c15e238b636b 86 pc.printf("%5d", usReadADC11);
pinofal 2:c15e238b636b 87 } break ;
pinofal 2:c15e238b636b 88 case 'F': // ADC10
pinofal 2:c15e238b636b 89 {
pinofal 2:c15e238b636b 90 // acquisisce dato dal pin A5 e trasmette al PC
pinofal 2:c15e238b636b 91 usReadADC10 = myAnalogIn10.read_u16();
pinofal 2:c15e238b636b 92 pc.printf("%5d", usReadADC10);
pinofal 2:c15e238b636b 93 } break ;
pinofal 2:c15e238b636b 94 case 'G': // ADC12
pinofal 2:c15e238b636b 95 {
pinofal 2:c15e238b636b 96 // acquisisce dato ADC12 e trasmette al PC
pinofal 2:c15e238b636b 97 usReadADC12 = myAnalogIn12.read_u16();
pinofal 2:c15e238b636b 98 pc.printf("%5d", usReadADC12);
pinofal 2:c15e238b636b 99 } break ;
pinofal 2:c15e238b636b 100
pinofal 2:c15e238b636b 101 default:
pinofal 2:c15e238b636b 102 {
pinofal 2:c15e238b636b 103 } break;
pinofal 2:c15e238b636b 104 }
pinofal 2:c15e238b636b 105
pinofal 2:c15e238b636b 106 // toggle del LED
pinofal 2:c15e238b636b 107 myLed = !myLed;
pinofal 2:c15e238b636b 108 }
pinofal 2:c15e238b636b 109
pinofal 2:c15e238b636b 110 } // while(true)
pinofal 2:c15e238b636b 111 }
pinofal 2:c15e238b636b 112
pinofal 2:c15e238b636b 113
pinofal 2:c15e238b636b 114
pinofal 2:c15e238b636b 115
pinofal 2:c15e238b636b 116
pinofal 2:c15e238b636b 117
pinofal 2:c15e238b636b 118
pinofal 2:c15e238b636b 119
pinofal 2:c15e238b636b 120
pinofal 2:c15e238b636b 121
pinofal 2:c15e238b636b 122
pinofal 2:c15e238b636b 123
pinofal 2:c15e238b636b 124
pinofal 2:c15e238b636b 125