test
Dependencies: mbed-STM32F103C8T6 SHT21_ncleee
Revision 1:0fe432e5dfc4, committed 2020-04-15
- Comitter:
- bbw
- Date:
- Wed Apr 15 11:36:03 2020 +0000
- Parent:
- 0:217105958c2d
- Commit message:
- Test_bob_0415
Changed in this revision
diff -r 217105958c2d -r 0fe432e5dfc4 SHT21_ncleee.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SHT21_ncleee.lib Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/graeme88/code/SHT21_ncleee/#03bbabb7b0b0
diff -r 217105958c2d -r 0fe432e5dfc4 eeprom.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eeprom.cpp Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,42 @@ +#include "eeprom.h" +#include "main.h" + +void readID(int addy){ + char ucdata_write[1]; + char ucdata_read[1]; + ucdata_write[0] = addy; //MCP24AA02_DID, Address here for Device ID + while (i2c.write((MCP24AA02_ADDR|WRITE), ucdata_write, 1, 0)){;}//Wait for ACK if EEPROM is in 'write' cycle + i2c.read((MCP24AA02_ADDR|READ),ucdata_read,1,0); + if(ucdata_read[0]==0x29){ + debug_uart.printf("Code=%#x (Microchip Technology ltd.(c))\r\n",ucdata_read[0]); + } + if(ucdata_read[0]==0x41){ + debug_uart.printf("Code=%#x (2K EEPROM Using i2c)\r\n",ucdata_read[0]); + }else{ + debug_uart.printf("Unknown eeprom device %x\r\n", ucdata_read[0]); + } +} + +void readEE(int addy){ + char ucdata_write[1]; + char ucdata_read[1]; + ucdata_write[0] = addy; //Address here to read + while (i2c.write((MCP24AA02_ADDR|WRITE), ucdata_write, 1, 0)){} //Wait for ACK if EEPROM is in 'write' cycle + i2c.read((MCP24AA02_ADDR|READ),ucdata_read,1,0); //Note 'OR' Address with Read bit + debug_uart.printf("%c",ucdata_read[0]); +} + +void writeEE(int addy,int data){ + char ucdata_write[2]; + ucdata_write[0] = addy; + ucdata_write[1] = data; + while (i2c.write((MCP24AA02_ADDR|WRITE), ucdata_write, 1, 0)){} //Wait for ACK if EEPROM is in 'write' cycle + i2c.write((MCP24AA02_ADDR|WRITE),ucdata_write,2,0); //Note 'OR' Adress with Write bit + debug_uart.printf("%04d %c\t",addy,data); +} + +void eraseEE(void){ + for (int i=0;i<0xFA;i++){ //0xFA to 0xFF are read only with Manufacture/Hardware ID and a Unique Serial Number + writeEE(i,0xFF); + } +} \ No newline at end of file
diff -r 217105958c2d -r 0fe432e5dfc4 eeprom.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eeprom.h Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,18 @@ +#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
diff -r 217105958c2d -r 0fe432e5dfc4 lcd_driver.cpp --- a/lcd_driver.cpp Wed Feb 20 15:13:20 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +0,0 @@ -#include "lcd_driver.h" - - -#define LCD_DRIVER_C - -#include "mbed.h" - -//lsb .. msb -BusOut LCD_DataBus(p13,p14,p15,p16,p17,p18,p19,p20); - - -DigitalOut RS(p21); -DigitalOut WR(p22); -DigitalOut RD(p23); -DigitalOut CS(p24); -DigitalOut RST(p25); - - -void Write_Command(unsigned int c) -{ - RS = 0; - Write(c); -} - -void Write_Data(unsigned int c) -{ - RS = 1; - Write(c); -} - -void Write(unsigned int c) -{ - LCD_DataBus = c >> 8; - WR = 0; - WR = 1; - - LCD_DataBus = c; - WR = 0; - WR = 1; - -} - -void Write_Command_Data(unsigned int cmd,unsigned int dat) -{ - Write_Command(cmd); - Write_Data(dat); -} - - -void Lcd_Init() -{ - - digitalWrite(RD,HIGH); - digitalWrite(CS,HIGH); - digitalWrite(WR,HIGH); - - digitalWrite(RST,HIGH); - delay(1); - digitalWrite(RST,LOW); - delay(10); - delay(1); - digitalWrite(RST,HIGH); - - CS = 0; - - Write_Command_Data(0x0011,0x2004); - Write_Command_Data(0x0013,0xCC00); - Write_Command_Data(0x0015,0x2600); - Write_Command_Data(0x0014,0x252A); -// Write_Command_Data(0x14,0x002A); - Write_Command_Data(0x0012,0x0033); - Write_Command_Data(0x0013,0xCC04); - //delayms(1); - Write_Command_Data(0x0013,0xCC06); - //delayms(1); - Write_Command_Data(0x0013,0xCC4F); - //delayms(1); - Write_Command_Data(0x0013,0x674F); - Write_Command_Data(0x0011,0x2003); - //delayms(1); - Write_Command_Data(0x0030,0x2609); - Write_Command_Data(0x0031,0x242C); - Write_Command_Data(0x0032,0x1F23); - Write_Command_Data(0x0033,0x2425); - Write_Command_Data(0x0034,0x2226); - Write_Command_Data(0x0035,0x2523); - Write_Command_Data(0x0036,0x1C1A); - Write_Command_Data(0x0037,0x131D); - Write_Command_Data(0x0038,0x0B11); - Write_Command_Data(0x0039,0x1210); - Write_Command_Data(0x003A,0x1315); - Write_Command_Data(0x003B,0x3619); - Write_Command_Data(0x003C,0x0D00); - Write_Command_Data(0x003D,0x000D); - Write_Command_Data(0x0016,0x0007); - Write_Command_Data(0x0002,0x0013); - Write_Command_Data(0x0003,0x0003); - Write_Command_Data(0x0001,0x0127); - //delayms(1); - Write_Command_Data(0x0008,0x0303); - Write_Command_Data(0x000A,0x000B); - Write_Command_Data(0x000B,0x0003); - Write_Command_Data(0x000C,0x0000); - Write_Command_Data(0x0041,0x0000); - Write_Command_Data(0x0050,0x0000); - Write_Command_Data(0x0060,0x0005); - Write_Command_Data(0x0070,0x000B); - Write_Command_Data(0x0071,0x0000); - Write_Command_Data(0x0078,0x0000); - Write_Command_Data(0x007A,0x0000); - Write_Command_Data(0x0079,0x0007); - Write_Command_Data(0x0007,0x0051); - //delayms(1); - Write_Command_Data(0x0007,0x0053); - Write_Command_Data(0x0079,0x0000); - - Write_Command(0x0022); - - -} - -void SetXY(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1) -{ - Write_Command_Data(0x0046,(x1 << 8)| x0); - //Write_Command_Data(0x0047,x1); - Write_Command_Data(0x0047,y1); - Write_Command_Data(0x0048,y0); - Write_Command_Data(0x0020,x0); - Write_Command_Data(0x0021,y0); - Write_Command (0x0022);//LCD_WriteCMD(GRAMWR); -} -void Pant(unsigned int color) -{ - int i,j; - int color_test; - color_test = 0; - SetXY(0,239,0,319); - //SetXY(0,120,0,120); - - for(i=0;i<320;i++) - { - for (j=0;j<240;j++) - { - Write_Data(color_test); - color_test+=10; - } - - } -} -void LCD_clear() -{ - unsigned int i,j; - SetXY(0,239,0,319); - for(i=0;i<X_CONST;i++) - { - for(j=0;j<Y_CONST;j++) - { - Write_Data(0x0000); - } - } -} - - -#undef LCD_DRIVER_C
diff -r 217105958c2d -r 0fe432e5dfc4 lcd_driver.h --- a/lcd_driver.h Wed Feb 20 15:13:20 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -#ifndef LCD_DRIVER_H -#define LCD_DRIVER_H - -//#include "mbed.h" - - -#ifdef LCD_DRIVER_C - #define EXTERN_PFX -#else - #define EXTERN_PFX extern -#endif - -#define HIGH 1 -#define LOW 0 - -#define digitalWrite(x,y) x=y - -#define delay(x) wait_ms(x) - -#define X_CONST 240 -#define Y_CONST 320 - - - - -EXTERN_PFX void Write(unsigned int c); -EXTERN_PFX void Write_Command(unsigned int c); -EXTERN_PFX void Write_Data(unsigned int c); -EXTERN_PFX void Write_Command_Data(unsigned int cmd,unsigned int dat); - - -EXTERN_PFX void Lcd_Init(); -EXTERN_PFX void LCD_clear(); -EXTERN_PFX void SetXY(unsigned int x0,unsigned int x1,unsigned int y0,unsigned int y1); -EXTERN_PFX void Pant(unsigned int color); - - - - - -#endif
diff -r 217105958c2d -r 0fe432e5dfc4 main.cpp --- a/main.cpp Wed Feb 20 15:13:20 2013 +0000 +++ b/main.cpp Wed Apr 15 11:36:03 2020 +0000 @@ -1,37 +1,357 @@ #include "mbed.h" -#include "lcd_driver.h" +//#include "rtos.h" +#include "stm32f103c8t6.h" +#include "ATCmdParser.h" +#include "UARTSerial.h" +//#include "Thread.h" + +DigitalOut MOTOA1(PB_4); +DigitalOut MOTOB1(PB_5); + +DigitalOut MOTOA2(PB_8); +DigitalOut MOTOB2(PB_9); + +Serial debug_uart(PB_10, PB_11); + +AnalogIn SensorCurrent(PA_0); + +AnalogIn BatteryVoltage(PA_1); + +void motor1_move(uint8_t dir); +void motor2_move(uint8_t dir); + +void system_init(); + +UARTSerial *_serial; + +//Thread thread1,thread2,thread3; + +#if 1 + +uint8_t sensor_cnt,cal_cnt; +uint8_t dir; +float sense_value; +uint8_t ov_flag, init_flag, motor1_ready_flag, motor2_ready_flag, sensor_flag; + +#endif + +void sensor_capture_cb(void){ + sensor_cnt++; +} + +#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 + +#if 1 + +void Power_thread(void const *argument){/*detect current*/ + uint8_t i = 0; + while(true){ + Thread::wait(500); /*unit millisec*/ + //debug_uart.printf("Power_thread 11111111111111\r\n"); + //debug_uart.printf("sensor_cnt = %d\r\n", sensor_cnt); + sense_value = SensorCurrent.read(); + //debug_uart.printf("current sense_value2 =%0.4f \r\n", sense_value); + if((sense_value>0.8)&&sensor_flag){ + debug_uart.printf("sense_value = %0.4f > 0.4 \r\n", sense_value); + ov_flag = 1; + //if(motor2_ready_flag){ + //motor2_ready_flag = 0; + //while(1){motor1_move(STOP);} + //} + } + } +} -DigitalOut myled(LED1); +void Motor1_thread(void const *argument){/*detect current*/ + uint8_t i; + while(true){ + Thread::wait(300); /*unit millisec*/ + if(motor2_ready_flag){ + sensor_cnt = 0; + motor1_move(MOVING_FORWARD); + wait(1); + sensor_flag = 1; + while(!ov_flag){debug_uart.printf("xxxxxxxxxxxxxxxxx \r\n"); wait(1);} + motor1_move(STOP); + debug_uart.printf("overcurrent detected \r\n"); + ov_flag = 0; + motor2_ready_flag = 0; + cal_cnt = sensor_cnt; + debug_uart.printf("calibration done \r\n"); + debug_uart.printf("calibrated cnt is %d \r\n", cal_cnt); + wait(2); + debug_uart.printf("back to origianl position, motor1_ready_flag = 1\r\n"); + motor1_ready_flag = 1; + while(1){ + if(motor2_ready_flag){break;}else{ + wait(1); + debug_uart.printf("thread2----wait for motor2 ready\r\n"); //wait(1); + } + } + motor2_ready_flag = 0; + sensor_cnt = 0; + sensor_flag = 0; + motor1_move(MOVING_BACKWARD); + debug_uart.printf("current cal_cnt is %d\r\n", cal_cnt); + //while(sensor_cnt<(cal_cnt-10)){debug_uart.printf("sensor cnt is %d\r\n", sensor_cnt);} + while(1){ + if(sensor_cnt>(cal_cnt-10)){break;}else{ + wait_ms(10); + //debug_uart.printf("sensor cnt is %d \r\n", sensor_cnt); + } + } + debug_uart.printf("xxxxxxxxxx----------sensor cnt is %d \r\n", sensor_cnt); + //debug_uart.printf("sensor cnt is higher than equal cal_cnt - 10 \r\n"); + motor1_move(STOP); + wait(2); + motor1_ready_flag = 1; + //if(ov_flag){ov_flag = 0;} + } + } +} + +void Motor2_thread(void const *argument){/*detect current*/ + uint8_t sta1,sta2; + DigitalIn Stopper1(PA_13); + DigitalIn Stopper2(PA_15); + + while(true){ + Thread::wait(300); /*unit millisec*/ + if(!init_flag){ + #if 1 + wait(1); + debug_uart.printf("thread 2 start \r\n"); + motor2_move(MOVING_UP); + while(Stopper1){;} + motor2_move(STOP); + debug_uart.printf("up stopper1 triggered \r\n"); + //init_flag = 1; + motor2_ready_flag = 1; + wait(1); + //while(!motor1_ready_flag){debug_uart.printf("wait for motor1 ready\r\n");wait(1);} + while(1){ + if(motor1_ready_flag){break;}else{ + wait(1); + debug_uart.printf("thread2----wait for motor1 ready \r\n"); + } + } + debug_uart.printf("motor1 is ready\r\n"); + motor1_ready_flag = 0; + motor2_move(MOVING_DOWN); + while(Stopper2){;} + motor2_move(STOP); + debug_uart.printf("down stopper1 triggered \r\n"); + motor2_ready_flag = 1; + init_flag = 1; + //while(!motor1_ready_flag){debug_uart.printf("wait for finish\r\n");wait(1);} + while(1){ + if(motor1_ready_flag){break;}else{ + wait(1); + debug_uart.printf("thread2----wait for motor1 ready \r\n"); + } + } + debug_uart.printf("move motor2 to center\r\n"); + motor2_move(MOVING_UP); + wait(1.5); + motor2_move(STOP); + debug_uart.printf("motor2 thread done\r\n"); + #endif + } + } +} -int main() { +#endif + +int main(){ + wait(2); - Serial pc(USBTX, USBRX); // tx, rx + system_init(); + + InterruptIn Hall1(PA_14); + //InterruptIn Hall2(PB_3); + Hall1.fall(callback(sensor_capture_cb)); // Attach ISR to handle button press event + //Hall2.fall(callback(sensor_capture_cb)); // Attach ISR to handle button press event + debug_uart.printf("Hall1 init done\r\n"); - Lcd_Init(); - pc.printf("Hello mbed\n"); - LCD_clear(); - pc.printf("clear \n"); - Pant(0xf800); - Pant(0x07e0); - Pant(0x001f); - Pant(0xffff); - Pant(0x0000); - - while(1) { - Pant(0xf800); - Pant(0x07e0); - Pant(0x001f); - Pant(0xffff); - Pant(0x0000); -#if 0 - myled = 1; - wait(0.5); - myled = 0; - wait(0.5); -#endif + //Thread thread1(osPriorityNormal,2048,Power_thread, NULL); /*check the real-time current*/ + + #if 0 + thread1.start(Power_thread); + debug_uart.printf("thread1~~~~~~~~~~~~~~~~\r\n"); + thread2.start(Motor1_thread); + debug_uart.printf("thread2~~~~~~~~~~~~~~~~\r\n"); + thread3.start(Motor2_thread); + debug_uart.printf("thread3~~~~~~~~~~~~~~~~\r\n"); + #endif + + #if 1 + + Thread thread1(Power_thread, NULL, osPriorityNormal, 2048); + Thread thread2(Motor1_thread, NULL, osPriorityNormal, 2048); + Thread thread3(Motor1_thread, NULL, osPriorityNormal, 2048); + #endif + + #if 0 + debug_uart.printf("thread1~~~~~~~~~~~~~~~~\r\n"); + Thread thread2(osPriorityNormal,2048,Motor1_thread, NULL); /*check the real-time current*/ + //Thread thread2(Motor1_thread, NULL, osPriorityNormal, 512); /*check the real-time current*/ + debug_uart.printf("thread2~~~~~~~~~~~~~~~~\r\n"); + Thread thread3(osPriorityNormal,2048,Motor2_thread,NULL); /*check the real-time current*/ + //Thread thread3(Motor2_thread, NULL, osPriorityNormal, 512); /*check the real-time current*/ + debug_uart.printf("thread3~~~~~~~~~~~~~~~~\r\n"); + #endif + + + + init_flag = 0; + //motor2_ready_flag = 1; + //motor2_move(MOVING_DOWN); + while(1){ + //debug_uart.printf("~~~~~~~~~~~~~~\r\n"); + wait(1); + //sense_value = SensorCurrent.read(); + debug_uart.printf("current sense_value2 =%0.4f \r\n", sense_value); } } + +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.baud(115200); + /* + lcdBus.write(0x00); + TFTRD = 0; + TFTWR = 0; + TFTDC = 0; + TFTCS = 0; + */ + MOTOA1 = 0; + MOTOB1 = 0; + MOTOA2 = 0; + MOTOB2 = 0; + init_flag = 0; + motor1_ready_flag = 0; + motor2_ready_flag = 0; + sense_value = 0; + sensor_flag = 0; + + debug_uart.printf("system init done\r\n"); + +} +#if 0 +void wifi_debug(){ + wifi_uart.baud(115200); + debug_uart.baud(115200); + WIFI_PWREN = 1; + while(1){ + if(wifi_uart.readable()){ + debug_uart.putc(wifi_uart.getc()); + } + if(debug_uart.readable()){ + wifi_uart.putc(debug_uart.getc()); + } + } +} +void bt_debug(){ + bt_uart.baud(9600); + debug_uart.baud(9600); + while(1){ + if(bt_uart.readable()){ + debug_uart.putc(bt_uart.getc()); + } + if(debug_uart.readable()){ + bt_uart.putc(debug_uart.getc()); + } + } +} +void lcd_debug(){ + char i = 0; + unsigned char str[] = "bob's test"; + unsigned char str2[] = "hello world"; + ST7789V_Init(); + BlockWrite(0,COL-1,0,ROW-1); + LCD_block_test(); + //DispColor(GREEN); + DispStr(str, 40, 80, BLUE, GREEN); + DispStr(str2, 40, 120, BLUE, GREEN); + //DispOneChar(0x32,60,60,BLUE,GREEN); + while(1){ + ; + } +} + +void sht20_debug(){ + while(1) { + int temperature = sht.readTemp(); + debug_uart.printf("Temperature is: %d \t", temperature); + int humidity= sht.readHumidity(); + debug_uart.printf("Humidity: %d \r\n",humidity); + wait(2); + } +} + +void eeprom_debug(){ + char ucdata_write[1]; + if (!i2c.write((MCP24AA02_ADDR|WRITE), ucdata_write, 1, 0)){ + //readID(MCP24AA02_MID); + //readID(MCP24AA02_DID); + //Uncomment the following 6 lines of code to write Data into the EEPROM + /* + writeEE(0x00,0x4D); // ASCII M + writeEE(0x01,0x61); // ASCII a + writeEE(0x02,0x72); // ASCII r + writeEE(0x03,0x74); // ASCII t + writeEE(0x04,0x69); // ASCII i + writeEE(0x05,0x6E); // ASCII n + debug_uart.printf("\n\r"); + */ + //Uncomment the following line to Erase the EEPROM + // eraseEE(); + #if 1 + for (int i=2;i<=0x7;i++){readEE(i);} + debug_uart.printf("\r\n"); + #endif + }else{ + debug_uart.printf("\n\rCannot get an ACK from the Device check connections!\n\r"); + } +} + +#endif + + +
diff -r 217105958c2d -r 0fe432e5dfc4 main.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.h Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,64 @@ +#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
diff -r 217105958c2d -r 0fe432e5dfc4 mbed-STM32F103C8T6.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-STM32F103C8T6.lib Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/hudakz/code/mbed-STM32F103C8T6/#09d8c2eacb4d
diff -r 217105958c2d -r 0fe432e5dfc4 mbed-os.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/mbed-os/#c53d51fe9220728bf8ed27afe7afc1ecc3f6f5d7
diff -r 217105958c2d -r 0fe432e5dfc4 mbed.bld --- a/mbed.bld Wed Feb 20 15:13:20 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/3d0ef94e36ec \ No newline at end of file
diff -r 217105958c2d -r 0fe432e5dfc4 st7789v.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/st7789v.cpp Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,390 @@ +#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); +} + + +
diff -r 217105958c2d -r 0fe432e5dfc4 st7789v.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/st7789v.h Wed Apr 15 11:36:03 2020 +0000 @@ -0,0 +1,525 @@ +#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