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

Dependencies:   mbed 24LC1025 MCP3204

Revision:
1:717563cb9070
Parent:
0:c38491379a28
Child:
2:133b3bf22850
--- a/main.cpp	Fri Jul 24 12:05:21 2020 +0000
+++ b/main.cpp	Sat Jul 25 17:49:49 2020 +0000
@@ -1,29 +1,112 @@
 #include "mbed.h"
 #include "MCP3204.h"
 
-Serial pc(PA_9, PA_10, 115200); //pin19,20 TX,RX
+Serial pc(PA_2, PA_3, 115200); //pin19,20 TX,RX
 SPI spi(PA_7, PA_6, PA_5);
 MCP3204 mcp1(spi,PB_0);
 MCP3204 mcp2(spi,PB_1);
+MCP3204 mcp3(spi,PB_3);
+MCP3204 mcp4(spi,PA_8);
+MCP3204 mcp5(spi,PA_10);
+MCP3204 mcp6(spi,PF_0);
+
+
+#define T 0.03
 
 int main(){
-    int adc[4];
+    int adc1[4],adc2[4],adc3[4],adc4[4],adc5[4],adc6[4];
     int i;
+    float ave1,ave2,ave3,ave4,ave5,ave6;
     
     pc.printf("Hello world\r\n");
     wait(1.0);
     
     while(1){
-        adc[0] = mcp1.sgl( CH0 );
-        adc[1] = mcp2.sgl( CH0 );
-        //adc[2] = mcp.sgl( CH2 );
-        //adc[3] = mcp.sgl( CH3 );
-        for(i=0; i<2; i++){
-            pc.printf("CH%d:%d\r\n",i,adc[i]);
+        adc1[0] = mcp1.sgl( CH0 );
+        adc1[1] = mcp1.sgl( CH1 );
+        adc1[2] = mcp1.sgl( CH2 );
+        adc1[3] = mcp1.sgl( CH3 );
+        ave1 = (adc1[0] + adc1[1] + adc1[2] + adc1[3])/4.0;
+        
+        adc2[0] = mcp2.sgl( CH0 );
+        adc2[1] = mcp2.sgl( CH1 );
+        adc2[2] = mcp2.sgl( CH2 );
+        adc2[3] = mcp2.sgl( CH3 );
+        ave2 = (adc2[0] + adc2[1] + adc2[2] + adc2[3])/4.0;
+        
+        adc3[0] = mcp3.sgl( CH0 );
+        adc3[1] = mcp3.sgl( CH1 );
+        adc3[2] = mcp3.sgl( CH2 );
+        adc3[3] = mcp3.sgl( CH3 );
+        ave3 = (adc3[0] + adc3[1] + adc3[2] + adc3[3])/4.0;
+        
+        adc4[0] = mcp4.sgl( CH0 );
+        adc4[1] = mcp4.sgl( CH1 );
+        adc4[2] = mcp4.sgl( CH2 );
+        adc4[3] = mcp4.sgl( CH3 );
+        ave4 = (adc4[0] + adc4[1] + adc4[2] + adc4[3])/4.0;
+        
+        adc5[0] = mcp5.sgl( CH0 );
+        adc5[1] = mcp5.sgl( CH1 );
+        adc5[2] = mcp5.sgl( CH2 );
+        adc5[3] = mcp5.sgl( CH3 );
+        ave5 = (adc5[0] + adc5[1] + adc5[2] + adc5[3])/4.0;
+        
+        adc6[0] = mcp6.sgl( CH0 );
+        adc6[1] = mcp6.sgl( CH1 );
+        adc6[2] = mcp6.sgl( CH2 );
+        adc6[3] = mcp6.sgl( CH3 );
+        ave6 = (adc6[0] + adc6[1] + adc6[2] + adc6[3])/4.0;
+        
+        /*
+        pc.printf("1");
+        for(i=0; i<4; i++){
+            //pc.printf("CH%d:%d\r\n",i,adc1[i]);
+            pc.printf(",%d",adc1[i]);
         }
+        pc.printf(",%.1f\r\n", ave1);
+        
+        pc.printf("2");
+        for(i=0; i<4; i++){
+            //pc.printf("CH%d:%d\r\n",i,adc1[i]);
+            pc.printf(",%d",adc2[i]);
+        }
+        pc.printf(",%.1f\r\n", ave2);
+        
+        pc.printf("3");
+        for(i=0; i<4; i++){
+            //pc.printf("CH%d:%d\r\n",i,adc1[i]);
+            pc.printf(",%d",adc3[i]);
+        }
+        pc.printf(",%.1f\r\n", ave3);
+        
+        pc.printf("4");
+        for(i=0; i<4; i++){
+            //pc.printf("CH%d:%d\r\n",i,adc1[i]);
+            pc.printf(",%d",adc4[i]);
+        }
+        pc.printf(",%.1f\r\n", ave4);
+        
+        pc.printf("5");
+        for(i=0; i<4; i++){
+            //pc.printf("CH%d:%d\r\n",i,adc1[i]);
+            pc.printf(",%d",adc5[i]);
+        }
+        pc.printf(",%.1f\r\n", ave5);
+        
+        pc.printf("6");
+        for(i=0; i<4; i++){
+            //pc.printf("CH%d:%d\r\n",i,adc1[i]);
+            pc.printf(",%d",adc6[i]);
+        }
+        pc.printf(",%.1f\r\n", ave6);
+        */
+        
+        pc.printf("%.1f,%.1f,%.1f,%.1f,%.1f,%.1f\r\n",ave1,ave2,ave3,ave4,ave5,ave6);
+        
         wait(0.5);
     }
-
+    
 }
 
 /*