Akash Gaikwad
/
Hexiware_ammeter_Code_MCP3201_ADC
Hexiware Ammeter Code using MCP3201 ADC
main.cpp@0:dbba16496f3e, 2017-03-22 (annotated)
- Committer:
- agaikwad
- Date:
- Wed Mar 22 00:57:10 2017 +0000
- Revision:
- 0:dbba16496f3e
Hexiware Ammeter code using MCP3201_ADC
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
agaikwad | 0:dbba16496f3e | 1 | #include "mbed.h" |
agaikwad | 0:dbba16496f3e | 2 | |
agaikwad | 0:dbba16496f3e | 3 | //#define ADC_SCALE_VALUE 24/4096 |
agaikwad | 0:dbba16496f3e | 4 | |
agaikwad | 0:dbba16496f3e | 5 | SPI spi(PTC6,PTC7,PTC5); // (MOSI MISO CLK)setup SPI interface on pins PTC5,PTC6,PTC7 |
agaikwad | 0:dbba16496f3e | 6 | |
agaikwad | 0:dbba16496f3e | 7 | DigitalOut cs1(PTC4); |
agaikwad | 0:dbba16496f3e | 8 | |
agaikwad | 0:dbba16496f3e | 9 | Serial pc(USBTX, USBRX); |
agaikwad | 0:dbba16496f3e | 10 | |
agaikwad | 0:dbba16496f3e | 11 | |
agaikwad | 0:dbba16496f3e | 12 | |
agaikwad | 0:dbba16496f3e | 13 | int main() |
agaikwad | 0:dbba16496f3e | 14 | { |
agaikwad | 0:dbba16496f3e | 15 | spi.format(8,0); |
agaikwad | 0:dbba16496f3e | 16 | spi.frequency(1000000); |
agaikwad | 0:dbba16496f3e | 17 | pc.printf("Analog read test from spi.\n"); |
agaikwad | 0:dbba16496f3e | 18 | while (true) |
agaikwad | 0:dbba16496f3e | 19 | { |
agaikwad | 0:dbba16496f3e | 20 | |
agaikwad | 0:dbba16496f3e | 21 | cs1=0; |
agaikwad | 0:dbba16496f3e | 22 | //spi.write(); |
agaikwad | 0:dbba16496f3e | 23 | //pc.printf("%d\r\n",k); |
agaikwad | 0:dbba16496f3e | 24 | int high_byte = spi.write(0); |
agaikwad | 0:dbba16496f3e | 25 | int low_byte = spi.write(0); |
agaikwad | 0:dbba16496f3e | 26 | cs1=1; |
agaikwad | 0:dbba16496f3e | 27 | float x = ((high_byte & 0x1f) << 7) | ((low_byte >> 1)); |
agaikwad | 0:dbba16496f3e | 28 | |
agaikwad | 0:dbba16496f3e | 29 | float r= (float)((x*1)/4096); // show value in volts. |
agaikwad | 0:dbba16496f3e | 30 | |
agaikwad | 0:dbba16496f3e | 31 | pc.printf("AD channel value: %f Amps\r\n", r-0.5); |
agaikwad | 0:dbba16496f3e | 32 | pc.printf("Analog Value: %.2f\n\r",x); |
agaikwad | 0:dbba16496f3e | 33 | wait_ms(500); |
agaikwad | 0:dbba16496f3e | 34 | } |
agaikwad | 0:dbba16496f3e | 35 | |
agaikwad | 0:dbba16496f3e | 36 | |
agaikwad | 0:dbba16496f3e | 37 | } |
agaikwad | 0:dbba16496f3e | 38 | |
agaikwad | 0:dbba16496f3e | 39 |