MCP3008 and Ticker Class Test

Dependencies:   mbed mcp3008

Committer:
ryood
Date:
Sun Jun 18 20:01:01 2017 +0000
Revision:
3:589f800b8980
Parent:
1:c437fef79bc3
test read_u16

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:0e326a52b0f4 1 #include "mbed.h"
ryood 0:0e326a52b0f4 2 #include "mcp3008.h"
ryood 0:0e326a52b0f4 3
ryood 3:589f800b8980 4 #define UART_TRACE 0
ryood 3:589f800b8980 5 #define UART_CSV_DEVICE0 0
ryood 3:589f800b8980 6 #define UART_CSV_DEVICE1 1
ryood 3:589f800b8980 7
ryood 1:c437fef79bc3 8 #define SAMPLING_RATE (48000)
ryood 1:c437fef79bc3 9 #define SAMPLING_PERIOD (1.0f/SAMPLING_RATE)
ryood 1:c437fef79bc3 10
ryood 1:c437fef79bc3 11 DigitalOut checkPin(D2);
ryood 1:c437fef79bc3 12
ryood 1:c437fef79bc3 13 void isr()
ryood 1:c437fef79bc3 14 {
ryood 1:c437fef79bc3 15 checkPin = 1;
ryood 1:c437fef79bc3 16 wait_us(1);
ryood 1:c437fef79bc3 17 checkPin = 0;
ryood 1:c437fef79bc3 18 }
ryood 1:c437fef79bc3 19
ryood 0:0e326a52b0f4 20 int main()
ryood 0:0e326a52b0f4 21 {
ryood 0:0e326a52b0f4 22 SPI spiM(SPI_MOSI, SPI_MISO, SPI_SCK);
ryood 1:c437fef79bc3 23 spiM.frequency(4000000);
ryood 0:0e326a52b0f4 24 MCP3008 mcp3008_0(spiM, D10);
ryood 1:c437fef79bc3 25 MCP3008 mcp3008_1(spiM, D9);
ryood 0:0e326a52b0f4 26
ryood 3:589f800b8980 27 float vf0[8];
ryood 3:589f800b8980 28 float vf1[8];
ryood 3:589f800b8980 29
ryood 3:589f800b8980 30 uint16_t vi0[8];
ryood 3:589f800b8980 31 uint16_t vi1[8];
ryood 1:c437fef79bc3 32
ryood 1:c437fef79bc3 33 Ticker t;
ryood 1:c437fef79bc3 34 t.attach(&isr, SAMPLING_PERIOD);
ryood 0:0e326a52b0f4 35
ryood 0:0e326a52b0f4 36 for (;;) {
ryood 0:0e326a52b0f4 37 for (int i = 0; i < 8; i++) {
ryood 3:589f800b8980 38 vf0[i] = mcp3008_0.read_input(i);
ryood 3:589f800b8980 39 vi0[i] = mcp3008_0.read_input_u16(i);
ryood 0:0e326a52b0f4 40 }
ryood 1:c437fef79bc3 41 for (int i = 0; i < 8; i++) {
ryood 3:589f800b8980 42 vf1[i] = mcp3008_1.read_input(i);
ryood 3:589f800b8980 43 vi1[i] = mcp3008_1.read_input_u16(i);
ryood 1:c437fef79bc3 44 }
ryood 0:0e326a52b0f4 45
ryood 3:589f800b8980 46 #if UART_TRACE
ryood 0:0e326a52b0f4 47 printf("Device0\t");
ryood 0:0e326a52b0f4 48 for (int i = 0; i < 8; i++) {
ryood 3:589f800b8980 49 printf("%0.3f(%4d)\t", vf0[i], vi0[i]);
ryood 0:0e326a52b0f4 50 }
ryood 0:0e326a52b0f4 51 printf("\r\n");
ryood 1:c437fef79bc3 52 printf("Device1\t");
ryood 1:c437fef79bc3 53 for (int i = 0; i < 8; i++) {
ryood 3:589f800b8980 54 printf("%0.3f(%4d)\t", vf1[i], vi1[i]);
ryood 3:589f800b8980 55 }
ryood 3:589f800b8980 56 printf("\r\n");
ryood 3:589f800b8980 57 #elif UART_CSV_DEVICE0
ryood 3:589f800b8980 58 for (int i = 0; i < 8; i++) {
ryood 3:589f800b8980 59 printf("%4d,", vi0[i]);
ryood 1:c437fef79bc3 60 }
ryood 1:c437fef79bc3 61 printf("\r\n");
ryood 3:589f800b8980 62 #elif UART_CSV_DEVICE1
ryood 3:589f800b8980 63 for (int i = 0; i < 8; i++) {
ryood 3:589f800b8980 64 printf("%4d,", vi1[i]);
ryood 3:589f800b8980 65 }
ryood 3:589f800b8980 66 printf("\r\n");
ryood 3:589f800b8980 67 #endif
ryood 0:0e326a52b0f4 68
ryood 3:589f800b8980 69 wait(0.1);
ryood 0:0e326a52b0f4 70 }
ryood 0:0e326a52b0f4 71 }
ryood 0:0e326a52b0f4 72