Ryo Od
/
Nucleo_MCP3008_Ticker_Test
MCP3008 and Ticker Class Test
main.cpp@3:589f800b8980, 2017-06-18 (annotated)
- 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?
User | Revision | Line number | New 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 |