test

Dependencies:   mbed-STM32F103C8T6 mbed-rtos mbed-dev

Files at this revision

API Documentation at this revision

Comitter:
bbw
Date:
Tue May 05 11:15:56 2020 +0000
Parent:
8:a32b83084287
Child:
11:9dc8bbb8dda3
Commit message:
change back the OS to Mbed OS2 because OS5 consume a lot of RAM space.

Changed in this revision

eeprom.h Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
main.h Show diff for this revision Revisions of this file
main_ori.cpp Show diff for this revision Revisions of this file
mbed-STM32F103C8T6.lib Show annotated file Show diff for this revision Revisions of this file
mbed-dev.lib Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
st7789v.cpp Show diff for this revision Revisions of this file
st7789v.h Show diff for this revision Revisions of this file
--- a/eeprom.h	Wed Apr 29 03:14:26 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-#ifndef EEPROM_H
-#define EEPROM_H
-
-#define MCP24AA02_ADDR     (0xA0) // 24AA02 2K EEPROM using i2c Address
-#define WRITE              (0x00) // 24AA02 2K EEPROM using i2c Write bit
-#define READ               (0x01) // 24AA02 2K EEPROM using i2c Read bit
-#define MCP24AA02_MID      (0xFA) // Manufacturer ID Address (Read Only 0x29==Microchip)
-#define MCP24AA02_DID      (0xFB) // Device ID Adress (Read Only 0x41==4 is i2c family and 1 is 2K device)
-
-void readID(int addy);
-
-void readEE(int addy);
-
-void writeEE(int addy,int data);
-
-void eraseEE(void);
-
-#endif
\ No newline at end of file
--- a/main.cpp	Wed Apr 29 03:14:26 2020 +0000
+++ b/main.cpp	Tue May 05 11:15:56 2020 +0000
@@ -1,72 +1,16 @@
 #include "mbed.h"
 #include "stm32f103c8t6.h"
-#include "string.h"
-#include "main.h"
+#include <string>
 #include "stdio.h"
 #include "stdlib.h"
-
-DigitalOut MOTOA1(PB_4);
-DigitalOut MOTOB1(PB_5);
-
-DigitalOut MOTOA2(PB_8);
-DigitalOut MOTOB2(PB_9);
-
-AnalogIn SensorCurrent(PA_0);
-
-void motor1_move(uint8_t dir);
-void motor2_move(uint8_t dir);
-
-void system_init();
+#include "rtos.h"
 
-uint8_t sensor_cnt,cal_cnt, cal_cnt2, cur_cnt, tar_cnt, pre_sensor_cnt;
-//uint8_t dir;
-float sense_value;
-uint8_t ov_flag, init_flag, motor1_ready_flag, motor2_ready_flag, sensor_flag, ready_flag;
-uint8_t open_flag,close_flag;
-float m_val = 0;
-
-#define MAX_LENGTH_STEPS 55
-#define MIN_LENGTH_STEPS 10
-#define MOVING_UP 1
-#define MOVING_DOWN 2
-#define MOVING_FORWARD 1
-#define MOVING_BACKWARD 2
-#define STOP 0
-
-//---------------------------------------------------
 DigitalOut led1(PC_13);
 
-//Serial pc(PB_10,PB_11);
-
-UARTSerial *_serial;
-
-UARTSerial debug_uart(PB_10, PB_11, 115200);
-UARTSerial wifi_uart(PA_2, PA_3, 115200);
-
-InterruptIn DebugKey(PA_12);
-volatile bool button1_pressed = false; // Used in the main loop
-volatile bool button1_enabled = true; // Used for debouncing
-Timeout button1_timeout; // Used for debouncing
+RawSerial debug_uart(PB_10, PB_11, 115200);
+RawSerial wifi_uart(PA_2, PA_3, 115200);
 
-// Enables button when bouncing is over
-void button1_enabled_cb(void)
-{
-    button1_enabled = true;
-}
-
-// ISR handling button pressed event
-void button1_onpressed_cb(void)
-{
-    if (button1_enabled) { // Disabled while the button is bouncing
-        button1_enabled = false;
-        button1_pressed = true; // To be read by the main loop
-        button1_timeout.attach(callback(button1_enabled_cb), 0.3); // Debounce time 300 ms
-    }
-}
-
-
-//Serial wifi_uart(PA_2, PA_3, 115200);
-//Serial debug_uart(PB_10, PB_11, 115200);
+Timer timer;
 
 char      rxBuf[32];
 char      wifi_rxBuf[32];  //receive msg from xiaomi cloud
@@ -77,488 +21,197 @@
 int       i = 0;
 //---------------------------------------------------
 
-ATCmdParser *_parser;
-void sensor_capture_cb(void){
-  sensor_cnt++;
-  if(open_flag){
-    cur_cnt++;
-  }
-  if(close_flag){
-    if(cur_cnt>0){
-        cur_cnt--;  
-    }
-  }
-}
+string a("");
+string b("");
+
+int flag = 0;
 
-void Power_thread(){/*detect current*/
-  char len[50];
-  char i = 0;
-  while(true){
-    Thread::wait(200); /*unit millisec*/
-    sense_value = SensorCurrent.read();
-    if((sense_value>0.5)&&sensor_flag){
-      sprintf(len, "Power_thread: sense_value = %0.4f > 0.5 \r\n", sense_value);
-      debug_uart.write(len, sizeof(len));
-      i++;
-      if(i>1){
-        ov_flag = 1;  
-      }
-    }else{
-        i = 0;
+#if 0
+void led1_thread(void const *argument) {
+    
+    while (true) 
+    {
+        wifi_uart.printf("get_down\r\n");       
+        while(1){
+            if(wifi_uart.readable())
+            {
+                char ch2 = wifi_uart.getc();
+                //f((ch2=='\n')||(ch2=='\r'))
+                if(ch2=='\r')
+                {                   
+                    debug_uart.printf("got string from wifi uart: '%s' \r\n", b.c_str());
+                    if(!strncmp(b.c_str(),"down none",9))
+                    {
+                        //debug_uart.printf("--- none\r\n");
+                    }
+                    if(!(strncmp(b.c_str(),"down set_properties",19)))  
+                    {
+                        debug_uart.printf("--- set_properties\r\n");
+                        wifi_uart.printf("result 2 7 0\r\n");
+                    }       
+                    if(!(strncmp(b.c_str(),"down get_properties",19)))  
+                    {
+                        debug_uart.printf("--- get_properties\r\n");
+                        //wifi_uart.printf("result 2 7 0\r\n");
+                    }               
+                    if(!strncmp(b.c_str(),"down MIIO_net_change",20))
+                    {
+                        if((!strncmp(b.c_str()+21, "offline", 7)))
+                        {
+                            debug_uart.printf("offline\r\n");
+                        }
+                        if((!strncmp(b.c_str()+21, "local", 5)))
+                        {
+                            debug_uart.printf("local\r\n");
+                        }
+                        if((!strncmp(b.c_str()+21, "cloud", 5)))
+                        {
+                            debug_uart.printf("cloud\r\n");
+                        }
+                    }   
+                    b.clear();  
+                    break;                  
+                }else{
+                    b += ch2;
+                }               
+            }   
+        }   
+        //wait_ms(400);
     }
-    
-  }
 }
 
-void Motor1_thread(){
-  char len[50];
-  while(true){
-    Thread::wait(300); /*unit millisec*/
-    if(!init_flag){
-      while(1){
-        if(motor2_ready_flag){break;}else{
-          wait(1);
-          debug_uart.write("Motor1_thread: -------------------------------\r\n",48);
+#endif
+
+#if 0
+void led0_thread(void const *argument) {
+    while (1) {
+        if(debug_uart.readable()){
+            char ch1 = debug_uart.getc();
+            if(ch1=='\n'){                   
+                debug_uart.printf("sent string to wifi uart: '%s' \r\n", a.c_str());
+                wifi_uart.printf("%s\r\n",a.c_str());
+                a.clear();              
+            }else{
+                a += ch1;
+            }            
         }
-      }
-      motor2_ready_flag = 0;
-      sensor_cnt = 0;
-      motor1_move(MOVING_FORWARD);
-      wait(1);
-      sensor_flag = 1; /*enable current monitoring*/
-      while(!ov_flag){   
-        debug_uart.write("Motor1_thread: waiting for ov_flag = 1 \r\n",41); 
-        wait(1);
-      }
-      motor1_move(STOP);
-      ov_flag = 0;
-      motor2_ready_flag = 0;
-      cal_cnt = sensor_cnt;
-      sprintf(len, "Motor1_thread: primary calibrated cnt is %d \r\n", cal_cnt);
-      debug_uart.write(len, sizeof(len));  
-      wait(1);
-      motor1_ready_flag = 1;
-      while(1){
-        if(motor2_ready_flag){break;}else{
-          wait(1);
-          debug_uart.write("Motor1_thread: -------------------------------\r\n",48);
+        if(wifi_uart.readable())
+        {
+            char ch2 = wifi_uart.getc();
+            if((ch2=='\n')||(ch2=='\r')){                   
+                debug_uart.printf("got string from wifi uart: '%s' \r\n", b.c_str());
+                b.clear();              
+            }else{
+                b += ch2;
+            }               
         }
-      }
-      motor2_ready_flag = 0;
-      sensor_cnt = 0;
-      motor1_move(MOVING_BACKWARD);        
-      while(!ov_flag){   
-        debug_uart.write("Motor1_thread: waiting for ov_flag = 1 \r\n",41); 
-        wait(1);
-      }
-      motor1_move(STOP);
-      cal_cnt2 = sensor_cnt;
-      sensor_cnt = 0;
-      cal_cnt = (cal_cnt2+cal_cnt)/2;
-      sprintf(len, "Motor1_thread: final calibrated cnt is %d \r\n", cal_cnt);
-      debug_uart.write(len, sizeof(len));
-      wait(1);
-      motor1_ready_flag = 1;
-      while(!init_flag){debug_uart.write("Motor1_thread: -------------------------------\r\n",48);wait(1);}
-    }else{
-      debug_uart.write("Motor1_thread: calibration done, wait for motor2 action.\r\n", 58); 
-      while(1){
-          if(motor2_ready_flag){break;}else{
-              wait(1);
-              debug_uart.write("Motor1_thread: -------------------------------\r\n",48);
-          }
-      }
-      motor2_ready_flag = 0;
-      if(open_flag){
-          motor1_move(MOVING_FORWARD);
-          while(1){
-              sprintf(len, "Motor1_thread: cur_cnt is %d \r\n", cur_cnt);
-              debug_uart.write(len, sizeof(len));
-              sprintf(len, "Motor1_thread: tar_cnt is %d \r\n", tar_cnt);
-              debug_uart.write(len, sizeof(len));
-              debug_uart.write("Motor1_thread: **************************** \r\n", 46); 
-              wait(1);
-              if(cur_cnt>=tar_cnt){
-                  break;
-              }
-              if(ov_flag){
-                  break;
-              }
-          }
-      }
-      if(close_flag){
-          motor1_move(MOVING_BACKWARD);
-          while(1){
-              sprintf(len, "Motor1_thread: cur_cnt is %d \r\n", cur_cnt);
-              debug_uart.write(len, sizeof(len));
-              sprintf(len, "Motor1_thread: tar_cnt is %d \r\n", tar_cnt);
-              debug_uart.write(len, sizeof(len));
-              debug_uart.write("Motor1_thread: **************************** \r\n", 46); 
-              wait(1);
-              if(cur_cnt<=tar_cnt){
-                  break;
-              }
-              if(ov_flag){
-                  break;
-              }
-          }
-      }
-      motor1_move(STOP);
-      if(!ov_flag){
-         cur_cnt = tar_cnt;
-      }else{
-          if(open_flag){cur_cnt = 90;}
-          if(close_flag){cur_cnt = 0;}
-      }
-      ov_flag = 0;
-      motor1_ready_flag = 1;          
-    } 
-  }
+        //wait(0.5);
+    }
+}
+#endif
+
+void led0_thread(void const *argument) {
+    int err;
+    char rxBuf[32];
+    char wifi_rxBuf[32];
+    char i; 
+        int position;
+        char dat[2];
+    
+    while (1) {
+        wifi_uart.printf("get_down\r");
+                timer.reset();  
+                b.clear();
+        while(timer.read_ms()<5000){
+            if(wifi_uart.readable()){
+                char ch = wifi_uart.getc();
+                if(ch!=0x0d){
+                    b += ch;
+                }else{
+                    debug_uart.printf("get string: %s \r\n", b.c_str());
+                                        #if 1
+                                        if(!strncmp(b.c_str(),"down none",9))
+                    {
+                        //debug_uart.printf("--- none\r\n");
+                    }
+                    if(!(strncmp(b.c_str(),"down set_properties",19)))  
+                    {
+                        debug_uart.printf("--- set_properties\r\n");
+                                                b.erase(0,b.length()-3);
+                                                position = atoi(b.c_str());
+                                                debug_uart.printf("position = %d\r\n",position);
+                        wifi_uart.printf("result 2 7 0\r\n");
+                                                b.clear();
+                                                continue;
+                    }       
+                    if(!(strncmp(b.c_str(),"down get_properties",19)))  
+                    {
+                        debug_uart.printf("--- get_properties\r\n");
+                                                wifi_uart.printf("result 2 4 0 10 2 6 0 %d 2 7 30\r\n", position);
+                                                b.clear();
+                                                continue;
+                    }               
+                    if(!strncmp(b.c_str(),"down MIIO_net_change",20))
+                    {
+                        if((!strncmp(b.c_str()+21, "offline", 7)))
+                        {
+                            debug_uart.printf("offline\r\n");
+                        }
+                        if((!strncmp(b.c_str()+21, "local", 5)))
+                        {
+                            debug_uart.printf("local\r\n");
+                        }
+                        if((!strncmp(b.c_str()+21, "cloud", 5)))
+                        {
+                            debug_uart.printf("cloud\r\n");
+                        }
+                    }
+                                        #endif                                      
+                    break;
+                }
+            }
+        }
+                while(wifi_uart.readable()){wifi_uart.getc();}  
+        wait_ms(400);
+    }
 }
 
-void Motor2_thread(){   
-  uint8_t sta1,sta2;
-  uint8_t i;
-  DigitalIn Stopper1(PA_13);
-  DigitalIn Stopper2(PA_15);
-  char len[50];
-  while(true){
-    Thread::wait(300); /*unit millisec*/
-    if(!init_flag){
-      wait(1);
-      debug_uart.write("Motor2_thread: motor2 move up\r\n", 31);    
-      motor2_move(MOVING_UP);
-      while(Stopper1){;}
-      motor2_move(STOP);
-      debug_uart.write("Motor2_thread: Up stopper triggered \r\n",38);        
-      motor2_ready_flag = 1;
-      wait(1);
-      while(1){
-        if(motor1_ready_flag){break;}else{
-          wait(1);debug_uart.write("Motor2_thread: --------------------------------- \r\n",51); 
-        }
-      }
-      motor1_ready_flag = 0;
-      motor2_move(MOVING_DOWN);
-      while(Stopper2){;}
-      motor2_move(STOP);
-      debug_uart.write("Motor2_thread: Down stopper triggered \r\n", 40);      
-      motor2_ready_flag = 1;
-      while(1){
-        if(motor1_ready_flag){break;}else{
-          wait(1);debug_uart.write("Motor2_thread: --------------------------------- \r\n",51);
-        }
-      }
-      motor1_ready_flag = 0;
-      debug_uart.write("Motor2_thread: motor2 move to center\r\n",38); 
-      ov_flag = 0;
-      ready_flag = 1;
-      motor2_move(MOVING_UP);
-      wait(1.6);
-      motor2_move(STOP);
-      ready_flag = 0;
-      debug_uart.write("Motor2_thread: motor2 thread done\r\n",35);
-      sprintf(len, "Main_thread: mean current is =%2.4f \r\n", m_val);
-      debug_uart.write(len, sizeof(len)); 
-      cur_cnt = 0;
-      init_flag = 1;          
-    }else{
-      debug_uart.write("Motor2_thread: calibration done.wait for open/close flag\r\n", 58);
-      while(1){
-          if(open_flag){break;}
-          if(close_flag){break;}
-          wait(1);
-          debug_uart.write("Motor2_thread: ------------command?------------- \r\n", 51);
-      }
-      if(open_flag){
-        debug_uart.write("Motor2_thread: --------------open--------------- \r\n", 51);
-        motor2_move(MOVING_UP);
-        while(Stopper1){;}
-        motor2_move(STOP);
-        motor2_ready_flag = 1;
-      }
-      if(close_flag){
-        debug_uart.write("Motor2_thread: -------------close-------------- \r\n", 50);
-        motor2_move(MOVING_DOWN);
-        while(1){
-            if(!Stopper2){i++;};
-            if(i>20){break;}
-        }
-        i = 0;
-        motor2_move(STOP);
-        motor2_ready_flag = 1;
-      }
-      while(1){
-          if(motor1_ready_flag){break;}else{
-              wait(1);
-              debug_uart.write("Motor2_thread: --------------------------------- \r\n", 51); 
-          }
-      }
-      motor1_ready_flag = 0;
-      debug_uart.write("Motor2_thread: motor2 move to center\r\n", 38); 
-      wait(1);
-      ready_flag = 1;
-      if(open_flag){
-        motor2_move(MOVING_DOWN);  
-      }
-      if(close_flag){
-        motor2_move(MOVING_UP);   
-      }      
-      wait(1.6);
-      motor2_move(STOP);
-      ready_flag = 0;
-      debug_uart.write("Motor2_thread: motor2 thread done\r\n", 35);
-      pre_sensor_cnt = sensor_cnt;
-      open_flag = 0;
-      close_flag = 0;
+void wifi_debug(void const *argument){
+  while(1){
+    if(wifi_uart.readable()){
+      debug_uart.putc(wifi_uart.getc());
+    }
+    if(debug_uart.readable()){
+      wifi_uart.putc(debug_uart.getc());
     }
   }
 }
 
-
-     
-void led1_thread() {
-    int length;
-    char len[20];
-    char l;
-    int position = 0;
-    int error = 0;
-    
-    while (true) 
-    {
-        wifi_uart.write("get_down\r\n", 10);
-        if(wifi_uart.readable())
-        {
-            length = wifi_uart.read(wifi_rxBuf, sizeof(wifi_rxBuf));
-            if(!(strncmp(wifi_rxBuf,"down none",9)))
-            {
-                //if return "down none"
-                //debug_uart.write("--- none\r\n",10);
-            }
-            else if(!(strncmp(wifi_rxBuf,"down set_properties ",20)))
-            {
-                //if return "down set_properties"
-                //debug_uart.write("--- set:\r\n", 10);
-                //debug_uart.write(wifi_rxBuf, length);
-                
-                //set properties
-                if(wifi_rxBuf[22] == '7')
-                {
-                  //set target-position
-                  position = atoi(&wifi_rxBuf[24]);
-                  sprintf(len, "position:%d\r\n", position);
-                  debug_uart.write(len, sizeof(len));
-                  /*add by bob*/
-                  if(position<=10){//0
-                    tar_cnt = 0;
-                  }else if(position<=30){//25%
-                    tar_cnt = 30;
-                  }else if(position<=60){//50%
-                    tar_cnt = 50;
-                  }else if(position<=85){//75%
-                    tar_cnt = 70;
-                  }else{//100%
-                    tar_cnt = 90;
-                  }
-                  if(tar_cnt>cur_cnt){
-                    open_flag = 1;
-                    debug_uart.write("open flag = 1\r\n", 15);
-                  }
-                  if(tar_cnt<cur_cnt){
-                    close_flag = 1;
-                    debug_uart.write("close flag = 1\r\n", 16);
-                  }
-                }                
-                //report result to cloud
-                wifi_uart.write("result 2 7 0\r\n", 14);
-                if(wifi_uart.readable())
-                {
-                    //length = wifi_uart.read(wifi_rxBuf, sizeof(wifi_rxBuf));
-                    //debug_uart.write(wifi_rxBuf, length);
-                }
-            }
-            else if(!(strncmp(wifi_rxBuf,"down get_properties ",20)))
-            {
-                //if return "down get_properties"
-                //debug_uart.write("--- get:\r\n", 10);
-                //debug_uart.write(wifi_rxBuf, length);
-                
-                //report result to cloud
-            }
-            else if(!(strncmp(wifi_rxBuf,"down MIIO_net_change ",21)))
-            {
-                //if return "down MIIO_net_change"
-                //debug_uart.write(wifi_rxBuf, length);
-                //debug_uart.write("--- net:\r\n",10);
-                if((!strncmp(&wifi_rxBuf[21], "offline", 7)))
-                {
-                    //连接中
-                    debug_uart.write("offline\r\n", 9);
-                }
-                else if((!strncmp(&wifi_rxBuf[21], "local", 5)))
-                {
-                    //连上路由器但未连上服务器
-                    debug_uart.write("local\r\n", 7);
-                }
-                else if((!strncmp(&wifi_rxBuf[21], "cloud", 5)))
-                {
-                    //连上小米云服务器
-                    debug_uart.write("cloud\r\n", 7);
-                    g_isCloud = 1;
-                }
-            }
-            else
-            {
-                debug_uart.write(wifi_rxBuf, length);
-            }
-            
-         }
-        thread_sleep_for(400);
-    }
-}
-
+int main() {
 
-void led0_thread() {
-    int length;
-    while (1) {
-        if(debug_uart.readable())
-        {
-              length = debug_uart.read(rxBuf, sizeof(rxBuf)); 
-              debug_uart.write(rxBuf, length); 
-              wifi_uart.write(rxBuf, length);
-              debug_uart.write("111\r",4);
-        }
-        if(wifi_uart.readable())
-        {
-            length = wifi_uart.read(rxBuf, sizeof(rxBuf));
-            debug_uart.write(rxBuf, length); 
-            debug_uart.write("222\r",4);
-              
-        }
-        wait(0.5);
-    }
-}
-
-
-void motor1_move(uint8_t dir){/*main motor*/
-  if(dir==1){/*forward*/
-    MOTOA1 = 0;
-    MOTOB1 = 1;
-  }else if(dir==2){/*backward*/
-    MOTOA1 = 1;
-    MOTOB1 = 0;
-  }else{ /*stop*/
-    MOTOA1 = 0;
-    MOTOB1 = 0;
-  }
-}
-
-void motor2_move(uint8_t dir){/*assistant motor*/
-  if(dir==1){/*up*/
-    MOTOA2 = 0;
-    MOTOB2 = 1;
-  }else if(dir==2){/*down*/
-    MOTOA2 = 1;
-    MOTOB2 = 0;
-  }else{ /*stop*/
-    MOTOA2 = 0;
-    MOTOB2 = 0;
-  }
-}
-
-void system_init()
-{
+    debug_uart.printf("hello world\r\n");
+    led1 = 1; 
+        flag = 0;
+        
+        wait(3);
 
-  MOTOA1 = 0;
-  MOTOB1 = 0;
-  MOTOA2 = 0;
-  MOTOB2 = 0;
-  init_flag = 1;
-  cur_cnt = 0;
-  cal_cnt = 68;
-  motor1_ready_flag = 0;
-  motor2_ready_flag = 0;
-  sense_value = 0;
-  sensor_flag = 1;
-  ready_flag = 0; 
-  debug_uart.write("*******************************\r\n",33);
-  debug_uart.write("**********LAIWU TECH***********\r\n",33);  
-  debug_uart.write("*******************************\r\n",33);
-  debug_uart.write("system init done, wait 3 seconds to start\r\n",43);
-  wait(3);
-}
-
-int main() {
-    int length;
-    led1 = 1;
-    char len[50];
+    Thread thread1(led0_thread, NULL, osPriorityHigh, DEFAULT_STACK_SIZE); /*check the real-time current*/
     
-    debug_uart.write("hello world",11);
-    WIFI_PWREN = 1;   
-    wait(3);
-    system_init();  
-    InterruptIn Hall1(PA_14);
-    //InterruptIn Hall2(PB_3);    
-    Hall1.fall(callback(sensor_capture_cb)); // Attach ISR to handle button press event
-        DebugKey.fall(callback(button1_onpressed_cb)); // Attach ISR to handle button press event
-    //Hall2.fall(callback(sensor_capture_cb)); // Attach ISR to handle button press event
-    debug_uart.write("Hall sensor init done\r\n", 23);
-    
-    
-    //Thread thread0(osPriorityNormal, 512, nullptr, nullptr);
-    Thread thread1(osPriorityNormal, 512, nullptr, nullptr);
-    //Thread thread2(osPriorityNormal, 512, nullptr, nullptr);
-    
-    Thread thread2(osPriorityNormal, 512, nullptr, nullptr); /*check the real-time current*/
-    //debug_uart.printf("thread1~~~~~~~~~~~~~~~~\r\n");
-    Thread thread3(osPriorityNormal, 512, nullptr, nullptr); /*check the real-time current*/
-    //debug_uart.printf("thread2~~~~~~~~~~~~~~~~\r\n");
-    Thread thread4(osPriorityNormal, 512, nullptr, nullptr); /*check the real-time current*/
-    //debug_uart.printf("thread3~~~~~~~~~~~~~~~~\r\n");
-   
-    //thread0.start(led0_thread);
-    thread1.start(led1_thread);
-    thread2.start(Power_thread);
-    thread3.start(Motor1_thread);
-    thread4.start(Motor2_thread);
-    
-    debug_uart.write("four threads created\r\n",22);
-    
+        
+    timer.start(); 
+
     while(1)
     {
-        if(g_isCloud)
-        {
-            debug_uart.write("connected\r\n",11);
-        }
-        if(ready_flag){
-            m_val += sense_value;   
-            if(sense_value>0.5){
-                motor2_move(STOP);              
+            wait(1);
+#if 0           
+            if(flag){
+                debug_uart.printf("get string: '%s'\r\n", b.c_str());
+                b.clear();
+                while(wifi_uart.readable()){wifi_uart.getc();}      
+                flag = 0;
+                debug_uart.printf("sent get_down to module\r\n");
+                wifi_uart.printf("get_down\r\n");               
             }
-        }
-                if (button1_pressed) { // Set when button is pressed
-                    button1_pressed = false;
-                    debug_uart.write("restore wifi module\r\n",21);
-                    wifi_uart.write("restore\r\n", 9);
-                }
-        if(!open_flag&&!close_flag){
-            if(sensor_cnt>(pre_sensor_cnt+5)){
-                if(cur_cnt<5){open_flag = 1;tar_cnt = 90;}else{
-                    close_flag = 1;
-                    tar_cnt = 0;
-                }           
-            }
-            sprintf(len, "main_thread: sensor_cnt = %d. \r\n", sensor_cnt);
-            debug_uart.write(len, sizeof(len)); 
-            sprintf(len, "main_thread: pre_sensor_cnt = %d. \r\n", pre_sensor_cnt);
-            debug_uart.write(len, sizeof(len)); 
-            pre_sensor_cnt = sensor_cnt;
-        }
-        wait(3);
-
-        //sprintf(len, "main_thread: current sense value is %.4f. \r\n", sense_value);
-        //debug_uart.write(len, sizeof(len));   
-
-        
+#endif          
     }
 }
\ No newline at end of file
--- a/main.h	Wed Apr 29 03:14:26 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#ifndef MAIN_H
-#define MAIN_H
-
-#include "mbed.h"
-//#include "FastIO.h"
-#include "st7789v.h"
-#include "stm32f103c8t6.h"
-//#include "SHT21_ncleee.h"
-#include "eeprom.h"
-
-static BusOut lcdBus(PB_13,PB_12,PB_2,PB_1,PB_0,PA_7,PA_6,PA_5); //Laiwu board configuration BusOut(LSB------MSB)
-
-#if 0
-/**/
-static DigitalOut TFTRD(PB_1);
-static DigitalOut TFTWR(PB_10);
-static DigitalOut TFTDC(PB_7);
-static DigitalOut TFTRST(PB_11);
-static DigitalOut TFTCS(PB_6);
-#endif
-
-#if 0
-static FastOut<PB_14> TFTRD;
-static FastOut<PB_15> TFTWR;
-static FastOut<PA_8> TFTDC;
-static FastOut<PA_11> TFTCS;
-#endif
-
-#if 1
-static DigitalOut TFTRD(PB_14);
-static DigitalOut TFTWR(PB_15);
-static DigitalOut TFTDC(PA_8);
-static DigitalOut TFTCS(PA_11);
-#endif
-
-static I2C i2c(PB_7,PB_6);
-
-//static SHT21 sht(&i2c);
-
-//static DigitalIn Stopper1(PA_13);
-//static DigitalIn Stopper2(PA_15);
-
-//static DigitalOut MOTOA1(PB_4);
-//static DigitalOut MOTOB1(PB_5);
-
-//static DigitalOut MOTOA2(PB_8);
-//static DigitalOut MOTOB2(PB_9);
-
-//static DigitalIn Hall1(PA_14);
-static DigitalIn Hall2(PB_3);
-
-static Serial bt_uart(PA_9, PA_10);
-//static Serial wifi_uart(PA_2, PA_3);
-//static Serial debug_uart(PB_10, PB_11);
-
-static InterruptIn FrontKey(PA_4);
-//static InterruptIn DebugKey(PA_12);
-
-static DigitalOut WIFI_PWREN(PC_13);
-
-//static AnalogIn SensorCurrent(PA_0);
-static AnalogIn BatteryVoltage(PA_1);
-
-#endif
\ No newline at end of file
--- a/main_ori.cpp	Wed Apr 29 03:14:26 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-#include "mbed.h"
-#include "stm32f103c8t6.h"
-#include "string.h"
-#include "main.h"
-
-#if 0
-DigitalOut led1(PC_13);
-
-//Serial pc(PB_10,PB_11);
-
-UARTSerial *_serial;
-
-UARTSerial debug_uart(PB_10, PB_11, 115200);
-UARTSerial wifi_uart(PA_2, PA_3, 115200);
-
-char      rxBuf[32];
-char      wifi_rxBuf[32];
-int       i = 0;
-
-ATCmdParser *_parser;
- 
-void led1_thread() {
-    int length;
-    while (true) {
-        wifi_uart.write("get_down\r", 9);
-        if(wifi_uart.readable())
-        {
-            length = wifi_uart.read(wifi_rxBuf, sizeof(wifi_rxBuf));
-            debug_uart.write(wifi_rxBuf, length);
-        }
-        thread_sleep_for(400);
-    }
-}
-
-
-void led0_thread() {
-    int length;
-    while (1) {
-        if(debug_uart.readable())
-        {
-              length = debug_uart.read(rxBuf, sizeof(rxBuf)); 
-              debug_uart.write(rxBuf, length); 
-              wifi_uart.write(rxBuf, length);
-              debug_uart.write("111\r",4);
-        }
-        if(wifi_uart.readable())
-        {
-            length = wifi_uart.read(rxBuf, sizeof(rxBuf));
-            debug_uart.write(rxBuf, length); 
-            debug_uart.write("222\r",4);
-              
-        }
-        wait(0.5);
-    }
-}
-
-
-int main() {
-    int length;
-    led1 = 1;
-    
-    wait(2);
-    
-    //debug_uart.printf("hello world\r\n");
-    debug_uart.write("hello world",11);
-    
-    WIFI_PWREN = 1;
-#if 0  
-    while(1){
-        if(debug_uart.readable())
-        {
-              length = debug_uart.read(rxBuf, sizeof(rxBuf)); 
-              debug_uart.write(rxBuf, length); 
-              debug_uart.write("test",4);
-        }
-        wait(0.5);
-   }
-    //wifi_debug();
-    
-
-    _serial = new UARTSerial(PA_2, PA_3, 115200);
-    _parser = new ATCmdParser(_serial);
-    _parser->debug_on( 1 );
-    _parser->set_delimiter("\r\n");
-    
-    debug_uart.printf("\nATCmdParser: Retrieving model");
-    _parser->send("model\\r");
-    
-    _parser->recv("%s", model);
-    debug_uart.printf("model:%s", model);
- #endif   
- 
-    Thread thread0(osPriorityNormal, 512, nullptr, nullptr);
-    Thread thread1(osPriorityNormal, 512, nullptr, nullptr);
-    //Thread thread2(osPriorityNormal, 512, nullptr, nullptr);
-    
-    thread0.start(led0_thread);
-    thread1.start(led1_thread);
-    
-    //wifi_serial.printf("model\r\n");
-    //thread1.start(led1_thread);
-    //thread2.start(led2_thread);
-    while(1)
-    {
-        debug_uart.write("--main--\r\n",10);
-        wait(3);
-    }
-
-}
-
-#endif
\ No newline at end of file
--- a/mbed-STM32F103C8T6.lib	Wed Apr 29 03:14:26 2020 +0000
+++ b/mbed-STM32F103C8T6.lib	Tue May 05 11:15:56 2020 +0000
@@ -1,1 +1,1 @@
-https://os.mbed.com/users/hankzhang/code/mbed-STM32F103C8T6_new/#c5c21a60441d
+http://mbed.org/users/hudakz/code/mbed-STM32F103C8T6/#fe3c80e86183
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-dev.lib	Tue May 05 11:15:56 2020 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-dev/#9a67f0b066fc
--- a/mbed-os.lib	Wed Apr 29 03:14:26 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://github.com/ARMmbed/mbed-os/#565ab149819481224ab43f878c3921b14b11d180
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Tue May 05 11:15:56 2020 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e
--- a/st7789v.cpp	Wed Apr 29 03:14:26 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +0,0 @@
-#include "main.h"
-
-void ST7789V_CTRL_Write(unsigned char data)
-{
-    lcdBus.write(data);
-}
-
-void ST7789V_writeCommand(unsigned char command)
-{
-    TFTCS=0; 
-    TFTDC = 0;
-    ST7789V_CTRL_Write(command);
-    TFTWR = 0;
-    TFTWR = 1;
-    TFTCS=1; 
-}
-
-void ST7789V_writeData(unsigned char data)
-{
-    TFTCS=0; 
-    TFTDC = 1;
-    ST7789V_CTRL_Write(data);
-    TFTWR = 0;
-    TFTWR = 1;
-    TFTCS=1; 
-}
-
-void ST7789V_writeOneDot(unsigned int color)
-{ 
-    TFTCS=0;  
-    TFTRD=1;
-    TFTDC=1;   
-
-    ST7789V_CTRL_Write(color>>8); 
-    TFTWR=0;
-    TFTWR=1;
-
-    ST7789V_CTRL_Write(color);      
-    TFTWR=0;
-    TFTWR=1;
-        
-    TFTCS=1;
-}
-
-void ST7789V_Init(void)
-{
-    TFTDC = 0;
-    TFTRD = 1;
-    TFTWR = 0;
-    
-#if 0
-    TFTRST = 0; // reset the chip[]
-    wait_us(100);
-    TFTRST = 1; // take it out of reset
-#endif
-
-    wait_us(100);
-    ST7789V_writeCommand(0x11);    /* exit SLEEP mode*/
-    wait_us(300);  
-    ST7789V_writeCommand(0x36);
-    ST7789V_writeData(0x00);      /* MADCTL: memory data access control*/
-    ST7789V_writeCommand(0x3A);
-    ST7789V_writeData(0x05);      /* COLMOD: Interface Pixel format*/
-    ST7789V_writeCommand(0xB2);
-    ST7789V_writeData(0x0C);
-    ST7789V_writeData(0x0C);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0x33);
-    ST7789V_writeData(0x33); /*PORCTRK: Porch setting*/
-    ST7789V_writeCommand(0xB7);
-    ST7789V_writeData(0x75); /*GCTRL: Gate Control*/
-    ST7789V_writeCommand(0xBB);
-    ST7789V_writeData(0x3d); /*VCOMS: VCOM setting*/
-    //ST7789V_writeCommand(0xC0);
-    //ST7789V_writeData(0x2C); /*LCMCTRL: LCM Control*/
-    ST7789V_writeCommand(0xC2);
-    ST7789V_writeData(0x01);
-    //ST7789V_writeData(0xFF); /*VDVVRHEN: VDV and VRH Command Enable*/
-    ST7789V_writeCommand(0xC3);
-    ST7789V_writeData(0x19); /*VRHS: VRH Set*/
-    ST7789V_writeCommand(0xC4);
-    ST7789V_writeData(0x20); /*VDVS: VDV Set*/
-    ST7789V_writeCommand(0xC6);
-    ST7789V_writeData(0x0F); /*FRCTRL2: Frame Rate control in normal mode*/
-    ST7789V_writeCommand(0xD0);
-    ST7789V_writeData(0xA4);
-    ST7789V_writeData(0xA1); /*PWCTRL1: Power Control 1*/
-    ST7789V_writeCommand(0xD6);
-    ST7789V_writeData(0xA1);
-    ST7789V_writeCommand(0xE0);
-    ST7789V_writeData(0x70);
-    ST7789V_writeData(0x04);
-    ST7789V_writeData(0x08);
-    ST7789V_writeData(0x09);
-    ST7789V_writeData(0x09);
-    ST7789V_writeData(0x05);
-    ST7789V_writeData(0x2A);
-    ST7789V_writeData(0x33);
-    ST7789V_writeData(0x41);
-    ST7789V_writeData(0x07);
-    ST7789V_writeData(0x13);
-    ST7789V_writeData(0x13);
-    ST7789V_writeData(0x29);
-    ST7789V_writeData(0x0F); /*PVGAMCTRL: Positive Voltage Gamma control*/
-    ST7789V_writeCommand(0xE1);
-    ST7789V_writeData(0x70);
-    ST7789V_writeData(0x03);
-    ST7789V_writeData(0x09);
-    ST7789V_writeData(0x0A);
-    ST7789V_writeData(0x09);
-    ST7789V_writeData(0x06);
-    ST7789V_writeData(0x2B);
-    ST7789V_writeData(0x34);
-    ST7789V_writeData(0x41);
-    ST7789V_writeData(0x07);
-    ST7789V_writeData(0x12);
-    ST7789V_writeData(0x14);
-    ST7789V_writeData(0x28);
-    ST7789V_writeData(0x2E); /*NVGAMCTRL: Negative Voltage Gamma control*/
-    ST7789V_writeCommand(0x21);
-    ST7789V_writeCommand(0x29);
-    ST7789V_writeCommand(0x2A);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0xEF); /*X address set*/
-    ST7789V_writeCommand(0x2B);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0x00);
-    ST7789V_writeData(0xEF); /*Y address set*/
-    ST7789V_writeCommand(0x2C);
-    //wait_us(10);
-    //ST7789V_writeCommand(0x29); /*Enable Display*/
-}
-
-void BlockWrite(unsigned int Xstart,unsigned int Xend,unsigned int Ystart,unsigned int Yend)
-{
-    ST7789V_writeCommand(0x2a);   
-    ST7789V_writeData((Xstart)>>8);
-    ST7789V_writeData((Xstart)&0xff);
-    
-    ST7789V_writeData((Xend)>>8);
-    ST7789V_writeData((Xend)&0xff);
-    
-    ST7789V_writeCommand(0x2b);   
-    ST7789V_writeData((Ystart+40)>>8);
-    
-    ST7789V_writeData((Ystart+40)&0xff);
-    ST7789V_writeData((Yend+40)>>8);
-    
-    ST7789V_writeData((Yend+40)&0xff);
-    ST7789V_writeCommand(0x2c);
-}
-
-unsigned char ToOrd(unsigned char ch)
-{
-    if(ch<32)
-    {
-        ch=95;
-    }
-    else if((ch>=32)&&(ch<=47)) //(32~47)空格~/
-    {
-        ch=(ch-32)+10+62;
-    }
-    else if((ch>=48)&&(ch<=57))//(48~57)0~9
-    {
-        ch=ch-48;
-    }
-    else if((ch>=58)&&(ch<=64))//(58~64):~@
-    {
-        ch=(ch-58)+10+62+16;
-    }
-    else if((ch>=65)&&(ch<=126))//(65~126)A~~
-    {
-        ch=(ch-65)+10;
-    }
-    else if(ch>126)
-    {       
-        ch=95;
-    }
-
-    return ch;
-}
-
-void WriteOneDot(unsigned int color)
-{ 
-    ST7789V_writeOneDot(color);
-}
-
-void  DispOneChar(unsigned char ord,unsigned int Xstart,unsigned int Ystart,unsigned int TextColor,unsigned int BackColor)   // ord:0~95
-{                                                     
-   unsigned char i,j;
-   unsigned char  *p;
-   unsigned char dat;
-   unsigned int index;
-
-   BlockWrite(Xstart,Xstart+(FONT_W-1),Ystart,Ystart+(FONT_H-1));
-
-   index = ord;
-
-   if(index>95)    //95:ASCII CHAR NUM
-        index=95;
-
-   index = index*((FONT_W/8)*FONT_H);    
-
-   p = ascii;
-   p = p+index;
-
-   for(i=0;i<(FONT_W/8*FONT_H);i++)
-    {
-       dat=*p++;
-       for(j=0;j<8;j++)
-        {
-           if((dat<<j)&0x80)
-             {
-                WriteOneDot(TextColor);
-             }      
-           else 
-             {
-                WriteOneDot(BackColor);   
-             }
-         }
-     }
-}
-
-void DispStr(unsigned char *str,unsigned int Xstart,unsigned int Ystart,unsigned int TextColor,unsigned int BackColor)
-{
-
-    while(!(*str=='\0'))
-    {
-        DispOneChar(ToOrd(*str++),Xstart,Ystart,TextColor,BackColor);
-
-        if(Xstart>((COL-1)-FONT_W))
-        {
-            Xstart=0;
-            Ystart=Ystart+FONT_H;
-        }
-        else
-        {
-            Xstart=Xstart+FONT_W;
-        }
-
-        if(Ystart>((ROW-1)-FONT_H))
-        {
-            Ystart=0;
-        }
-    }   
-    BlockWrite(0,COL-1,0,ROW-1);
-}
-
-void DispInt(unsigned int i,unsigned int Xstart,unsigned int Ystart,unsigned int TextColor,unsigned int BackColor)
-{
-    if(Xstart>((COL-1)-FONT_W*4))
-    {
-        Xstart=(COL-1)-FONT_W*4;
-    }
-    if(Ystart>((ROW-1)-FONT_H))
-    {
-        Ystart=(Ystart-1)-FONT_H;
-    }
-            
-    DispOneChar((i>>12)%16,Xstart,Ystart,TextColor,BackColor); //ID value
-    DispOneChar((i>>8)%16,Xstart+FONT_W,Ystart,TextColor,BackColor);
-    DispOneChar((i>>4)%16,Xstart+FONT_W*2,Ystart,TextColor,BackColor);
-    DispOneChar(i%16,Xstart+FONT_W*3,Ystart,TextColor,BackColor); 
-
-    BlockWrite(0,COL-1,0,ROW-1);
-}
-
-void DispColor(unsigned int color)
-{
-    unsigned int i,j;
-
-    BlockWrite(0,COL-1,0,ROW-1);
-
-    TFTCS=0; 
-    TFTDC=1;
-    TFTRD=1;
-
-    for(i=0;i<ROW;i++)
-    {
-      for(j=0;j<COL;j++)
-        {    
-            WriteOneDot(color);  
-        }
-    }
-
-    TFTCS=1; 
-}
-
-void DispBand(void)  
-{
-    unsigned int i,j,k;
-    //unsigned int color[8]={0x001f,0x07e0,0xf800,0x07ff,0xf81f,0xffe0,0x0000,0xffff};
-    unsigned int color[8]={0xf800,0xf800,0x07e0,0x07e0,0x001f,0x001f,0xffff,0xffff};//0x94B2
-    //unsigned int gray16[]={0x0000,0x1082,0x2104,0x3186,0x42,0x08,0x528a,0x630c,0x738e,0x7bcf,0x9492,0xa514,0xb596,0xc618,0xd69a,0xe71c,0xffff};
-
-  BlockWrite(0,COL-1,0,ROW-1);
-        
-    TFTCS=0;
-    TFTRD=1;
-    TFTDC=1;                                                                                                      
-
-    for(i=0;i<8;i++)
-    {
-        for(j=0;j<ROW/8;j++)
-        {
-        for(k=0;k<COL;k++)
-            {
-                WriteOneDot(color[i]); 
-            } 
-        }
-    }
-    for(j=0;j<ROW%8;j++)
-    {
-        for(k=0;k<COL;k++)
-        {
-            WriteOneDot(color[7]); 
-        } 
-    }
-    
-    TFTCS=1;
-}
-
-void DispPic(unsigned int *picture)
-{
-    unsigned int *p;
-    unsigned int  i,j; //i-row,j-col
-    unsigned char n,k; //n-row repeat count,k-col repeat count
-
-    BlockWrite(0,COL-1,0,ROW-1);
-
-    TFTCS =0;
-    TFTDC =1;
-    TFTRD =1;
-
-    for(n=0;n<ROW/PIC_HEIGHT;n++)         //n-row repeat count
-    {
-        for(i=0;i<PIC_HEIGHT;i++)
-        {
-            p=picture;
-            for(k=0;k<COL/PIC_WIDTH;k++) //k-col repeat count
-            {
-                for(j=0;j<PIC_WIDTH;j++)
-                {
-                        WriteOneDot(*(p+i*PIC_HEIGHT+j));
-                }
-            }
-
-            p=picture;
-            for(j=0;j<COL%PIC_WIDTH;j++)
-            {
-                WriteOneDot(*(p+i*PIC_HEIGHT+j));
-            }
-        }
-    }
-
-    for(i=0;i<ROW%PIC_HEIGHT;i++)
-    {
-        p=picture;
-        for(k=0;k<COL/PIC_WIDTH;k++) //k-col repeat count
-        {
-            for(j=0;j<PIC_WIDTH;j++)
-            {
-                WriteOneDot(*(p+i*PIC_HEIGHT+j));
-            }
-        }
-
-        p=picture;
-        for(j=0;j<COL%PIC_WIDTH;j++)
-        {
-            WriteOneDot(*(p+i*PIC_HEIGHT+j));
-        }
-    }
-  TFTCS=1;
-}
-
-void LCD_block_test(){
-  BlockWrite(0,COL-1,0,ROW-1);
-  DispColor(GREEN);
-  wait(2);
-  DispColor(BLUE);
-  wait(2);
-  DispColor(RED); 
-  wait(2);
-}
-
-
-
--- a/st7789v.h	Wed Apr 29 03:14:26 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,525 +0,0 @@
-#ifndef ST7789V_H
-#define ST7789V_H
-
-#define ROW  240  
-#define COL  240
-
-#define  FONT_W  16
-#define  FONT_H  21
-
-#define RED    0xF800     
-#define GREEN  0x07E0
-#define BLUE   0x001F
-#define WHITE  0xFFFF
-#define BLACK  0x0000
-
-#define PIC_WIDTH    48     //预备向LCD显示区域填充的图片的大小
-#define PIC_HEIGHT   37
-
-void ST7789V_Init(void);
-void ST7789V_writeCommand(unsigned char command);
-void ST7789V_writeOneDot(unsigned int color);
-void ST7789V_writeData(unsigned char data);
-void ST7789V_writeDataStream(unsigned char * pData, int numBytes);
-unsigned char ST7789V_readData();
-void ST7789V_readDataStream(unsigned char *data,int numItems);
-
-unsigned char ToOrd(unsigned char ch); 
-void WriteOneDot(unsigned int color);
-void DispOneChar(unsigned char ord,unsigned int Xstart,unsigned int Ystart,unsigned int TextColor,unsigned int BackColor);   // ord:0~95
-void DispStr(unsigned char *str,unsigned int Xstart,unsigned int Ystart,unsigned int TextColor,unsigned int BackColor);
-void DispInt(unsigned int i,unsigned int Xstart,unsigned int Ystart,unsigned int TextColor,unsigned int BackColor);
-void BlockWrite(unsigned int Xstart,unsigned int Xend,unsigned int Ystart,unsigned int Yend);
-
-void DispColor(unsigned int color);
-void DispBand(void);
-void DispPic(unsigned int *picture);
-
-void LCD_block_test(void);
-
-static unsigned char ascii[]=
-{
-//宋体16,点阵为:宽x高=16x21 
-/*--  文字:  0  --*/  
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x31,0x80,0x60,0xC0,
-0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,
-0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  1  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x1E,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  2  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x61,0x80,0x60,0xC0,0x60,0xC0,
-0x60,0xC0,0x01,0x80,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0xC0,
-0x60,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  3  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x61,0x80,0x61,0x80,
-0x01,0x80,0x03,0x00,0x0F,0x00,0x01,0x80,0x00,0xC0,0x00,0xC0,0x60,0xC0,0x60,0xC0,
-0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  4  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0x80,0x07,0x80,0x07,0x80,0x0F,0x80,
-0x1B,0x80,0x1B,0x80,0x33,0x80,0x63,0x80,0x63,0x80,0x3F,0xC0,0x03,0x80,0x03,0x80,
-0x03,0x80,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  5  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x3F,0x00,0x39,0x80,0x30,0xC0,0x00,0xC0,0x00,0xC0,0x60,0xC0,0x60,0xC0,
-0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  6  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x18,0xC0,0x30,0xC0,0x30,0x00,
-0x60,0x00,0x7F,0x00,0x71,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x30,0xC0,
-0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  7  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x61,0x80,0x63,0x00,0x03,0x00,
-0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,
-0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  8  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,
-0x60,0xC0,0x31,0x80,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  9  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x61,0x80,0x60,0xC0,
-0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0xC0,0x1F,0xC0,0x00,0xC0,0x01,0x80,0x61,0x80,
-0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  A  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0E,0x00,0x0E,0x00,0x0F,0x00,
-0x1B,0x00,0x1B,0x00,0x1B,0x00,0x31,0x80,0x3F,0x80,0x31,0x80,0x31,0x80,0x60,0xC0,
-0x60,0xC0,0xF1,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  B  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x31,0x80,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x31,0x80,0x3F,0x00,0x31,0xC0,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,
-0x30,0xC0,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  C  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x18,0xE0,0x30,0x60,0x30,0x60,
-0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x60,0x30,0x60,
-0x38,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  D  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x31,0x80,0x30,0xC0,0x30,0xC0,
-0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0xC0,0x30,0xC0,
-0x31,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  E  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x30,0xC0,0x30,0x60,0x30,0x00,
-0x31,0x80,0x31,0x80,0x3F,0x80,0x31,0x80,0x31,0x80,0x30,0x00,0x30,0x00,0x30,0x60,
-0x30,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  F  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x30,0xC0,0x30,0x60,0x30,0x00,
-0x31,0x80,0x31,0x80,0x3F,0x80,0x31,0x80,0x31,0x80,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  G  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x19,0xC0,0x30,0xC0,0x30,0xC0,
-0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x61,0xE0,0x60,0xC0,0x30,0xC0,0x30,0xC0,
-0x18,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  H  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x30,0xC0,0x3F,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  I  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  J  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x01,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x61,0x80,0x63,0x00,0x3E,0x00,0x00,0x00,
-
-/*--  文字:  K  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0xE0,0x30,0xC0,0x31,0x80,0x33,0x00,
-0x36,0x00,0x3C,0x00,0x3E,0x00,0x36,0x00,0x33,0x00,0x33,0x00,0x31,0x80,0x31,0x80,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  L  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x60,
-0x30,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  M  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x70,0xE0,0x70,0xE0,0x70,0xE0,
-0x79,0xE0,0x79,0xE0,0x79,0xE0,0x7B,0x60,0x6F,0x60,0x6F,0x60,0x6F,0x60,0x66,0x60,
-0x66,0x60,0xF6,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  N  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x38,0xC0,0x3C,0xC0,0x3C,0xC0,
-0x3C,0xC0,0x36,0xC0,0x36,0xC0,0x36,0xC0,0x33,0xC0,0x33,0xC0,0x31,0xC0,0x31,0xC0,
-0x31,0xC0,0x78,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  O  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x19,0x80,0x30,0xC0,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0xC0,
-0x19,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  P  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x30,0xC0,0x30,0x60,0x30,0x60,
-0x30,0x60,0x30,0xC0,0x3F,0x80,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  Q  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x19,0x80,0x30,0xC0,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x6E,0x60,0x3B,0xC0,
-0x3B,0xC0,0x0F,0x80,0x01,0xE0,0x01,0xC0,0x00,0x00,
-
-/*--  文字:  R  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x31,0x80,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x31,0x80,0x3F,0x00,0x36,0x00,0x33,0x00,0x33,0x00,0x31,0x80,0x31,0x80,
-0x30,0xC0,0x78,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  S  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,
-0x60,0x00,0x30,0x00,0x1C,0x00,0x07,0x00,0x01,0x80,0x00,0xC0,0x60,0xC0,0x60,0xC0,
-0x71,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  T  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x66,0x60,0x66,0x60,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  U  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x19,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  V  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF1,0xF0,0x60,0x60,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x19,0x80,0x19,0x80,0x19,0x80,0x19,0x80,0x0F,0x00,0x0F,0x00,0x0F,0x00,
-0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  W  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x66,0x60,0x66,0x60,0x66,0x60,
-0x66,0xC0,0x37,0xC0,0x3F,0xC0,0x3F,0xC0,0x3F,0xC0,0x3F,0xC0,0x3F,0xC0,0x19,0x80,
-0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  X  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x30,0xC0,0x19,0x80,0x19,0x80,
-0x0F,0x00,0x0F,0x00,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,0x19,0x80,0x19,0x80,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  Y  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x30,0xC0,0x19,0x80,0x19,0x80,
-0x1B,0x00,0x0F,0x00,0x0F,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  Z  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x30,0xC0,0x60,0xC0,0x01,0x80,
-0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x60,
-0x30,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  [  --*/
-0x00,0x00,0x00,0x00,0x0F,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0F,0xC0,0x00,0x00,
-
-/*--  文字:  \  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x18,0x00,
-0x0C,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,0x01,0x80,
-0x01,0x80,0x01,0x80,0x00,0xC0,0x00,0xC0,0x00,0x00,
-
-/*--  文字:  ]  --*/
-0x00,0x00,0x00,0x00,0x7E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x7E,0x00,0x00,0x00,
-
-/*--  文字:  ^  --*/
-0x00,0x00,0x00,0x00,0x1E,0x00,0x1E,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  _  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,
-
-/*--  文字:  `  --*/
-0x00,0x00,0x00,0x00,0x1C,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  a  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0x00,0x31,0x80,0x31,0x80,0x0F,0x80,0x39,0x80,0x61,0x80,0x61,0x80,
-0x63,0xE0,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  b  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x3F,0x80,0x38,0xC0,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,
-0x38,0xC0,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  c  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0x00,0x31,0x80,0x61,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0xC0,
-0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  d  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
-0x00,0xC0,0x1F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0xE0,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  e  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x7F,0xC0,0x60,0x00,0x60,0x00,0x60,0xC0,
-0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  f  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x06,0x60,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x7F,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  g  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0xF0,0x30,0xF0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x1F,0x80,0x30,0x00,
-0x3F,0x80,0x30,0xE0,0x60,0x60,0x70,0x60,0x3F,0xC0,
-
-/*--  文字:  h  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x3F,0x80,0x38,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  i  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  j  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,
-0x00,0x00,0x07,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-0x01,0x80,0x01,0x80,0x01,0x80,0x33,0x00,0x3E,0x00,
-
-/*--  文字:  k  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x30,0x00,0x30,0x00,0x30,0x00,
-0x30,0x00,0x33,0xC0,0x33,0x00,0x36,0x00,0x3C,0x00,0x3E,0x00,0x33,0x00,0x31,0x80,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  l  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  m  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0xFF,0xE0,0x77,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,
-0x66,0x60,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  n  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x7F,0x80,0x38,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  o  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  p  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x7F,0x80,0x38,0xC0,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,
-0x38,0xC0,0x3F,0x80,0x30,0x00,0x30,0x00,0x78,0x00,
-
-/*--  文字:  q  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0xC0,0x31,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,
-0x31,0xC0,0x1F,0xC0,0x00,0xC0,0x00,0xC0,0x01,0xE0,
-
-/*--  文字:  r  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x7B,0xE0,0x1E,0x60,0x1C,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,
-0x18,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  s  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x1F,0xC0,0x31,0xC0,0x30,0xC0,0x38,0x00,0x0F,0x00,0x01,0xC0,0x30,0xC0,
-0x38,0xC0,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  t  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x3F,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0xC0,
-0x0C,0xC0,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  u  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x71,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,
-0x31,0xE0,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  v  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x79,0xE0,0x30,0xC0,0x19,0x80,0x19,0x80,0x19,0x80,0x0F,0x00,0x0F,0x00,
-0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  w  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0xFF,0xF0,0x66,0x60,0x66,0xE0,0x3F,0xC0,0x3F,0xC0,0x3F,0xC0,0x3F,0xC0,
-0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  x  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x79,0xE0,0x30,0xC0,0x19,0x80,0x0F,0x00,0x06,0x00,0x0F,0x00,0x19,0x80,
-0x30,0xC0,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  y  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x7B,0xE0,0x30,0xC0,0x19,0x80,0x19,0x80,0x0F,0x00,0x0F,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x0C,0x00,0x3C,0x00,0x38,0x00,
-
-/*--  文字:  z  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x7F,0x80,0x63,0x00,0x66,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0xC0,
-0x61,0x80,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  {  --*/
-0x00,0x00,0x00,0x00,0x01,0xC0,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x07,0x00,0x0C,0x00,0x07,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x03,0x00,0x03,0x00,0x01,0xC0,0x00,0x00,
-
-/*--  文字:  |  --*/
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-
-/*--  文字:  }  --*/
-0x00,0x00,0x00,0x00,0x38,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0E,0x00,0x03,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x0C,0x00,0x0C,0x00,0x38,0x00,0x00,0x00,
-
-/*--  文字:  ~  --*/
-0x3C,0x00,0x76,0x30,0x63,0x70,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:     --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  !  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
-0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  "  --*/
-0x00,0x00,0x00,0x00,0x1F,0x80,0x1F,0x80,0x3F,0x00,0x36,0x00,0x6C,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  #  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xC0,0x18,0xC0,0x18,0xC0,0x7F,0xE0,
-0x18,0xC0,0x18,0xC0,0x18,0xC0,0x31,0x80,0x31,0x80,0x7F,0xE0,0x31,0x80,0x31,0x80,
-0x31,0x80,0x31,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  $  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0F,0x80,0x1E,0xC0,0x36,0xC0,0x37,0xC0,
-0x36,0x00,0x1E,0x00,0x0E,0x00,0x07,0x00,0x07,0x80,0x06,0xC0,0x3E,0xC0,0x36,0xC0,
-0x37,0x80,0x1F,0x00,0x06,0x00,0x06,0x00,0x00,0x00,
-
-/*--  文字:  %  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xC0,0x6D,0x80,0x6D,0x80,0x6F,0x00,
-0x6F,0x00,0x6F,0x00,0x3E,0x00,0x07,0xC0,0x0F,0x60,0x0F,0x60,0x1B,0x60,0x1B,0x60,
-0x1B,0x60,0x31,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  &  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x33,0x00,0x33,0x00,
-0x36,0x00,0x3F,0xC0,0x39,0x80,0x79,0x80,0xCF,0x00,0xCF,0x00,0xC7,0x00,0xC6,0x00,
-0x67,0x60,0x3D,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  '  --*/
-0x00,0x00,0x00,0x00,0x78,0x00,0x78,0x00,0x18,0x00,0x30,0x00,0xE0,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  (  --*/
-0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xC0,0x01,0x80,0x03,0x00,0x03,0x00,0x03,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,
-0x03,0x00,0x01,0x80,0x00,0xC0,0x00,0x60,0x00,0x00,
-
-/*--  文字:  )  --*/
-0x00,0x00,0x00,0x00,0x60,0x00,0x30,0x00,0x18,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,
-0x0C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0x00,0x00,
-
-/*--  文字:  *  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x66,0x60,
-0x7F,0xE0,0x1F,0x80,0x06,0x00,0x1F,0x80,0x7F,0xE0,0x66,0x60,0x06,0x00,0x06,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  +  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x06,0x00,0x06,0x00,0x7F,0xE0,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  ,  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x78,0x00,0x78,0x00,0x18,0x00,0x30,0x00,0xE0,0x00,
-
-/*--  文字:  -  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  .  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  /  --*/
-0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xC0,0x00,0xC0,0x01,0xC0,0x01,0x80,0x01,0x80,
-0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,
-0x38,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x00,0x00,
-
-/*--  文字:  :  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  ;  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
-
-/*--  文字:  <  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,
-0x18,0x00,0x30,0x00,0x60,0x00,0x30,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x03,0x00,
-0x01,0x80,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  =  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  >  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x30,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,
-0x03,0x00,0x01,0x80,0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,
-0x30,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  ?  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x70,0xC0,0x70,0xC0,
-0x00,0xC0,0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,
-0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-/*--  文字:  @  --*/
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x19,0xC0,0x30,0xC0,0x37,0xE0,
-0x6F,0xE0,0x6D,0xE0,0x79,0xE0,0x7B,0x60,0x7B,0x60,0x7B,0xC0,0x6F,0xC0,0x30,0x60,
-0x18,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
-//ord:95
-0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
-0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
-0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
-
-};
-
-#endif