MCP3204をSTM303K8T6で同時に6個使ってみた
Dependencies: mbed 24LC1025 MCP3204
main.cpp@1:717563cb9070, 2020-07-25 (annotated)
- Committer:
- sashida_h
- Date:
- Sat Jul 25 17:49:49 2020 +0000
- Revision:
- 1:717563cb9070
- Parent:
- 0:c38491379a28
- Child:
- 2:133b3bf22850
initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sashida_h | 0:c38491379a28 | 1 | #include "mbed.h" |
sashida_h | 0:c38491379a28 | 2 | #include "MCP3204.h" |
sashida_h | 0:c38491379a28 | 3 | |
sashida_h | 1:717563cb9070 | 4 | Serial pc(PA_2, PA_3, 115200); //pin19,20 TX,RX |
sashida_h | 0:c38491379a28 | 5 | SPI spi(PA_7, PA_6, PA_5); |
sashida_h | 0:c38491379a28 | 6 | MCP3204 mcp1(spi,PB_0); |
sashida_h | 0:c38491379a28 | 7 | MCP3204 mcp2(spi,PB_1); |
sashida_h | 1:717563cb9070 | 8 | MCP3204 mcp3(spi,PB_3); |
sashida_h | 1:717563cb9070 | 9 | MCP3204 mcp4(spi,PA_8); |
sashida_h | 1:717563cb9070 | 10 | MCP3204 mcp5(spi,PA_10); |
sashida_h | 1:717563cb9070 | 11 | MCP3204 mcp6(spi,PF_0); |
sashida_h | 1:717563cb9070 | 12 | |
sashida_h | 1:717563cb9070 | 13 | |
sashida_h | 1:717563cb9070 | 14 | #define T 0.03 |
sashida_h | 0:c38491379a28 | 15 | |
sashida_h | 0:c38491379a28 | 16 | int main(){ |
sashida_h | 1:717563cb9070 | 17 | int adc1[4],adc2[4],adc3[4],adc4[4],adc5[4],adc6[4]; |
sashida_h | 0:c38491379a28 | 18 | int i; |
sashida_h | 1:717563cb9070 | 19 | float ave1,ave2,ave3,ave4,ave5,ave6; |
sashida_h | 0:c38491379a28 | 20 | |
sashida_h | 0:c38491379a28 | 21 | pc.printf("Hello world\r\n"); |
sashida_h | 0:c38491379a28 | 22 | wait(1.0); |
sashida_h | 0:c38491379a28 | 23 | |
sashida_h | 0:c38491379a28 | 24 | while(1){ |
sashida_h | 1:717563cb9070 | 25 | adc1[0] = mcp1.sgl( CH0 ); |
sashida_h | 1:717563cb9070 | 26 | adc1[1] = mcp1.sgl( CH1 ); |
sashida_h | 1:717563cb9070 | 27 | adc1[2] = mcp1.sgl( CH2 ); |
sashida_h | 1:717563cb9070 | 28 | adc1[3] = mcp1.sgl( CH3 ); |
sashida_h | 1:717563cb9070 | 29 | ave1 = (adc1[0] + adc1[1] + adc1[2] + adc1[3])/4.0; |
sashida_h | 1:717563cb9070 | 30 | |
sashida_h | 1:717563cb9070 | 31 | adc2[0] = mcp2.sgl( CH0 ); |
sashida_h | 1:717563cb9070 | 32 | adc2[1] = mcp2.sgl( CH1 ); |
sashida_h | 1:717563cb9070 | 33 | adc2[2] = mcp2.sgl( CH2 ); |
sashida_h | 1:717563cb9070 | 34 | adc2[3] = mcp2.sgl( CH3 ); |
sashida_h | 1:717563cb9070 | 35 | ave2 = (adc2[0] + adc2[1] + adc2[2] + adc2[3])/4.0; |
sashida_h | 1:717563cb9070 | 36 | |
sashida_h | 1:717563cb9070 | 37 | adc3[0] = mcp3.sgl( CH0 ); |
sashida_h | 1:717563cb9070 | 38 | adc3[1] = mcp3.sgl( CH1 ); |
sashida_h | 1:717563cb9070 | 39 | adc3[2] = mcp3.sgl( CH2 ); |
sashida_h | 1:717563cb9070 | 40 | adc3[3] = mcp3.sgl( CH3 ); |
sashida_h | 1:717563cb9070 | 41 | ave3 = (adc3[0] + adc3[1] + adc3[2] + adc3[3])/4.0; |
sashida_h | 1:717563cb9070 | 42 | |
sashida_h | 1:717563cb9070 | 43 | adc4[0] = mcp4.sgl( CH0 ); |
sashida_h | 1:717563cb9070 | 44 | adc4[1] = mcp4.sgl( CH1 ); |
sashida_h | 1:717563cb9070 | 45 | adc4[2] = mcp4.sgl( CH2 ); |
sashida_h | 1:717563cb9070 | 46 | adc4[3] = mcp4.sgl( CH3 ); |
sashida_h | 1:717563cb9070 | 47 | ave4 = (adc4[0] + adc4[1] + adc4[2] + adc4[3])/4.0; |
sashida_h | 1:717563cb9070 | 48 | |
sashida_h | 1:717563cb9070 | 49 | adc5[0] = mcp5.sgl( CH0 ); |
sashida_h | 1:717563cb9070 | 50 | adc5[1] = mcp5.sgl( CH1 ); |
sashida_h | 1:717563cb9070 | 51 | adc5[2] = mcp5.sgl( CH2 ); |
sashida_h | 1:717563cb9070 | 52 | adc5[3] = mcp5.sgl( CH3 ); |
sashida_h | 1:717563cb9070 | 53 | ave5 = (adc5[0] + adc5[1] + adc5[2] + adc5[3])/4.0; |
sashida_h | 1:717563cb9070 | 54 | |
sashida_h | 1:717563cb9070 | 55 | adc6[0] = mcp6.sgl( CH0 ); |
sashida_h | 1:717563cb9070 | 56 | adc6[1] = mcp6.sgl( CH1 ); |
sashida_h | 1:717563cb9070 | 57 | adc6[2] = mcp6.sgl( CH2 ); |
sashida_h | 1:717563cb9070 | 58 | adc6[3] = mcp6.sgl( CH3 ); |
sashida_h | 1:717563cb9070 | 59 | ave6 = (adc6[0] + adc6[1] + adc6[2] + adc6[3])/4.0; |
sashida_h | 1:717563cb9070 | 60 | |
sashida_h | 1:717563cb9070 | 61 | /* |
sashida_h | 1:717563cb9070 | 62 | pc.printf("1"); |
sashida_h | 1:717563cb9070 | 63 | for(i=0; i<4; i++){ |
sashida_h | 1:717563cb9070 | 64 | //pc.printf("CH%d:%d\r\n",i,adc1[i]); |
sashida_h | 1:717563cb9070 | 65 | pc.printf(",%d",adc1[i]); |
sashida_h | 0:c38491379a28 | 66 | } |
sashida_h | 1:717563cb9070 | 67 | pc.printf(",%.1f\r\n", ave1); |
sashida_h | 1:717563cb9070 | 68 | |
sashida_h | 1:717563cb9070 | 69 | pc.printf("2"); |
sashida_h | 1:717563cb9070 | 70 | for(i=0; i<4; i++){ |
sashida_h | 1:717563cb9070 | 71 | //pc.printf("CH%d:%d\r\n",i,adc1[i]); |
sashida_h | 1:717563cb9070 | 72 | pc.printf(",%d",adc2[i]); |
sashida_h | 1:717563cb9070 | 73 | } |
sashida_h | 1:717563cb9070 | 74 | pc.printf(",%.1f\r\n", ave2); |
sashida_h | 1:717563cb9070 | 75 | |
sashida_h | 1:717563cb9070 | 76 | pc.printf("3"); |
sashida_h | 1:717563cb9070 | 77 | for(i=0; i<4; i++){ |
sashida_h | 1:717563cb9070 | 78 | //pc.printf("CH%d:%d\r\n",i,adc1[i]); |
sashida_h | 1:717563cb9070 | 79 | pc.printf(",%d",adc3[i]); |
sashida_h | 1:717563cb9070 | 80 | } |
sashida_h | 1:717563cb9070 | 81 | pc.printf(",%.1f\r\n", ave3); |
sashida_h | 1:717563cb9070 | 82 | |
sashida_h | 1:717563cb9070 | 83 | pc.printf("4"); |
sashida_h | 1:717563cb9070 | 84 | for(i=0; i<4; i++){ |
sashida_h | 1:717563cb9070 | 85 | //pc.printf("CH%d:%d\r\n",i,adc1[i]); |
sashida_h | 1:717563cb9070 | 86 | pc.printf(",%d",adc4[i]); |
sashida_h | 1:717563cb9070 | 87 | } |
sashida_h | 1:717563cb9070 | 88 | pc.printf(",%.1f\r\n", ave4); |
sashida_h | 1:717563cb9070 | 89 | |
sashida_h | 1:717563cb9070 | 90 | pc.printf("5"); |
sashida_h | 1:717563cb9070 | 91 | for(i=0; i<4; i++){ |
sashida_h | 1:717563cb9070 | 92 | //pc.printf("CH%d:%d\r\n",i,adc1[i]); |
sashida_h | 1:717563cb9070 | 93 | pc.printf(",%d",adc5[i]); |
sashida_h | 1:717563cb9070 | 94 | } |
sashida_h | 1:717563cb9070 | 95 | pc.printf(",%.1f\r\n", ave5); |
sashida_h | 1:717563cb9070 | 96 | |
sashida_h | 1:717563cb9070 | 97 | pc.printf("6"); |
sashida_h | 1:717563cb9070 | 98 | for(i=0; i<4; i++){ |
sashida_h | 1:717563cb9070 | 99 | //pc.printf("CH%d:%d\r\n",i,adc1[i]); |
sashida_h | 1:717563cb9070 | 100 | pc.printf(",%d",adc6[i]); |
sashida_h | 1:717563cb9070 | 101 | } |
sashida_h | 1:717563cb9070 | 102 | pc.printf(",%.1f\r\n", ave6); |
sashida_h | 1:717563cb9070 | 103 | */ |
sashida_h | 1:717563cb9070 | 104 | |
sashida_h | 1:717563cb9070 | 105 | pc.printf("%.1f,%.1f,%.1f,%.1f,%.1f,%.1f\r\n",ave1,ave2,ave3,ave4,ave5,ave6); |
sashida_h | 1:717563cb9070 | 106 | |
sashida_h | 0:c38491379a28 | 107 | wait(0.5); |
sashida_h | 0:c38491379a28 | 108 | } |
sashida_h | 1:717563cb9070 | 109 | |
sashida_h | 0:c38491379a28 | 110 | } |
sashida_h | 0:c38491379a28 | 111 | |
sashida_h | 0:c38491379a28 | 112 | /* |
sashida_h | 0:c38491379a28 | 113 | int main(){ |
sashida_h | 0:c38491379a28 | 114 | int adc[4]; |
sashida_h | 0:c38491379a28 | 115 | int i; |
sashida_h | 0:c38491379a28 | 116 | |
sashida_h | 0:c38491379a28 | 117 | pc.printf("Hello world\r\n"); |
sashida_h | 0:c38491379a28 | 118 | wait(1.0); |
sashida_h | 0:c38491379a28 | 119 | |
sashida_h | 0:c38491379a28 | 120 | while(1){ |
sashida_h | 0:c38491379a28 | 121 | adc[0] = mcp.sgl( CH0 ); |
sashida_h | 0:c38491379a28 | 122 | adc[1] = mcp.sgl( CH1 ); |
sashida_h | 0:c38491379a28 | 123 | adc[2] = mcp.sgl( CH2 ); |
sashida_h | 0:c38491379a28 | 124 | adc[3] = mcp.sgl( CH3 ); |
sashida_h | 0:c38491379a28 | 125 | for(i=0; i<4; i++){ |
sashida_h | 0:c38491379a28 | 126 | pc.printf("CH%d:%d\r\n",i,adc[i]); |
sashida_h | 0:c38491379a28 | 127 | } |
sashida_h | 0:c38491379a28 | 128 | wait(0.5); |
sashida_h | 0:c38491379a28 | 129 | } |
sashida_h | 0:c38491379a28 | 130 | |
sashida_h | 0:c38491379a28 | 131 | } |
sashida_h | 0:c38491379a28 | 132 | */ |