Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
CBS-ADC.cpp@2:c15e238b636b, 2018-07-27 (annotated)
- Committer:
- pinofal
- Date:
- Fri Jul 27 12:42:24 2018 +0000
- Revision:
- 2:c15e238b636b
Test CBS-ADC
Who changed what in which revision?
User | Revision | Line number | New 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 |