MCP3204をSTM303K8T6で同時に6個使ってみた

Dependencies:   mbed 24LC1025 MCP3204

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?

UserRevisionLine numberNew 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 */