aa

Dependencies:   mbed SO1602A

Revision:
2:77fe1a8f5bac
Parent:
1:63ae8cbbe758
--- a/main.cpp	Tue Sep 03 14:12:36 2019 +0000
+++ b/main.cpp	Fri Sep 06 00:39:05 2019 +0000
@@ -51,7 +51,7 @@
 Serial uart(PA_9,PA_10);
 I2C i2c(SDA,SCL);
 SO1602A oled(i2c,0x78);
-
+Ticker komatuharuka;
 void PinSelect(int pin)
 {
     bool selectnum[16][4]= {
@@ -152,34 +152,34 @@
 }
 
 
-void printoled(char printdata[6])
+
+int readdata[48];
+char uartdata[6];
+void printoled()
 {
     int trimdata[48];
+    int LAN[8];
     for(int i=0; i<=47; i++) {
         if(i<=7) {
-            trimdata[i]=((printdata[0] << i) & 0b10000000)>>7;
+            trimdata[i]=((uartdata[0] << i) & 0b10000000)>>7;
         } else if(i<=15) {
-            trimdata[i]=((printdata[1] << i-8) & 0b10000000)>>7;
+            trimdata[i]=((uartdata[1] << i-8) & 0b10000000)>>7;
         } else if(i<=23) {
-            trimdata[i]=((printdata[2] << i-16) & 0b10000000)>>7;
+            trimdata[i]=((uartdata[2] << i-16) & 0b10000000)>>7;
         } else if(i<=31) {
-            trimdata[i]=((printdata[3] << i-24) & 0b10000000)>>7;
+            trimdata[i]=((uartdata[3] << i-24) & 0b10000000)>>7;
         } else if(i<=39) {
-            trimdata[i]=((printdata[4] << i-32) & 0b10000000)>>7;
+            trimdata[i]=((uartdata[4] << i-32) & 0b10000000)>>7;
         } else if(i<=47) {
-            trimdata[i]=((printdata[5] << i-40) & 0b10000000)>>7;
+            trimdata[i]=((uartdata[5] << i-40) & 0b10000000)>>7;
         }
     }
-    int LAN[8];
-    for(int i=0; i<=7; i++) {
-        LAN[i]=!trimdata[i]*-2+!trimdata[i+2]*2+!trimdata[i+4]*-1+!trimdata[i+5]*1;
+    for(int i=0;i<=7;i++){
+        LAN[i]=trimdata[i*6]*-2+trimdata[i*6+1]*-1+trimdata[i*6+4]*1+trimdata[i*6+5]*2;
     }
-//    oled.locate(0,0);
-//    oled.printf("%+2d  %+2d  %+2d  %+2d  %+2d  %+2d  %+2d  %+2d",LAN[0],LAN[1],LAN[2],LAN[3],LAN[4],LAN[5],LAN[6],LAN[7]);
-    //pc.printf("%+2d  %+2d  %+2d  %+2d  %+2d  %+2d  %+2d  %+2d",LAN[0],LAN[1],LAN[2],LAN[3],LAN[4],LAN[5],LAN[6],LAN[7]);
+    oled.locate(0,0);
+    pc.printf("%+2d  %+2d  %+2d  %+2d  %+2d  %+2d  %+2d  %+2d\n",LAN[0],LAN[1],LAN[2],LAN[3],LAN[4],LAN[5],LAN[6],LAN[7]);
 }
-int readdata[48];
-char uartdata[6];
 void Initialize()
 {
     for(int i=0; i<=47; i++) {
@@ -201,7 +201,7 @@
     while(1) {
         LineDataRead(readdata);
         DataTrim(uartdata,readdata);
-//        oled.printf("UNTI");
-        wait(0.01);
+//        komatuharuka.attach(&printoled,0.1);
+//        wait(0.01);
     }
 }