
通过软件SPI控制任意GPIo驱动st7735屏幕
cpp
#ifndef FUNC_H
#include "stm32f1xx_hal.h"
#include "main.h"
#define FUNC_H
//画笔颜色
#define WHITE 0xFFFF
#define BLACK 0x0000
#define BLUE 0x001F
#define BRED 0XF81F
#define GRED 0XFFE0
#define GBLUE 0X07FF
#define RED 0xF800
#define MAGENTA 0xF81F
#define GREEN 0x07E0
#define CYAN 0x7FFF
#define YELLOW 0xFFE0
#define BROWN 0XBC40 //棕色
#define BRRED 0XFC07 //棕红色
#define GRAY 0X8430 //灰色
// func.h
typedef struct {
uint16_t width;
uint16_t height;
uint8_t rotation; // 0: 正常, 1: 90°, 2: 180°, 3: 270°
} ST7735_Config;
extern ST7735_Config st7735_cfg;
/* USER CODE BEGIN Private defines */
#define LCD_RST1 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3,GPIO_PIN_SET);
#define LCD_RST0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_3,GPIO_PIN_RESET);
// LCD_DC
#define LCD_DC1 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,GPIO_PIN_SET);//a0//GPIOB->BSRR=GPIO_BSRR_BS_12
#define LCD_DC0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,GPIO_PIN_RESET);//GPIOB->BSRR=GPIO_BSRR_BR_12//
// LCD_CS
#define LCD_CS1 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6,GPIO_PIN_SET);// GPIOB->BSRR=GPIO_BSRR_BS_10//
#define LCD_CS0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6,GPIO_PIN_RESET);// GPIOB->BSRR=GPIO_BSRR_BR_10//
// LCD_CLK
#define LCD_CLK1 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5,GPIO_PIN_SET);// GPIOB->BSRR=GPIO_BSRR_BS_10//
#define LCD_CLK0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5,GPIO_PIN_RESET);// GPIOB->BSRR=GPIO_BSRR_BR_10//
// LCD_SDA
#define LCD_SDA1 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7,GPIO_PIN_SET);// GPIOB->BSRR=GPIO_BSRR_BS_10//
#define LCD_SDA0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7,GPIO_PIN_RESET);// GPIOB->BSRR=GPIO_BSRR_BR_10//
void lcd7735_senddata(uint8_t data);
void lcd7735_send16bData(uint16_t data) ;
void spi2_8b_init(void);
void spi2_16b_init(void);
void lcd7735_putstr_vertical(unsigned char x, unsigned char y, const unsigned char str[], unsigned int charColor, unsigned int bkgColor);
//初始化
void lcd7735_ini(void);
//发送数据
void lcd7735_sendData(unsigned char data);
//发送命令
void lcd7735_sendCmd(unsigned char cmd);
// 点亮指定区域
void lcd7735_fillrect(unsigned char startX, unsigned char startY, unsigned char stopX, unsigned char stopY, unsigned int color);
//点亮像素点
void lcd7735_putpix(unsigned char x, unsigned char y, unsigned int Color);
// 画线
void lcd7735_line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, unsigned int color);
// 绘制矩形(未填充)
void lcd7735_rect(char x1,char y1,char x2,char y2, unsigned int color);
//输出单个字符
void lcd7735_putchar(unsigned char x, unsigned char y, unsigned char chr, unsigned int charColor, unsigned int bkgColor);
//输出字符串
void lcd7735_putstr(unsigned char x, unsigned char y, const unsigned char str[], unsigned int charColor, unsigned int bkgColor);
// 计算指定屏幕区域
void lcd7735_at(unsigned char startX, unsigned char startY, unsigned char stopX, unsigned char stopY) ;
//输出32*32中文 //
void showhanzi32(unsigned int x,unsigned int y,unsigned char index, unsigned int charColor,unsigned int bkgColor);
void showimage(uint16_t x,uint16_t y);
#endif
cpp
/**
* шрифт любезно предоставил AlexPM с форума easyelectronics.ru
*
*/
const unsigned char hanzi32[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
0x1C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x38,0x00,0x10,0x20,0x34,0x00,
0x1F,0xF0,0x66,0x00,0x18,0x60,0x42,0x00,0x18,0x60,0xC1,0x00,0x18,0x61,
0x81,0x80,0x18,0x61,0x00,0xE0,0x18,0x62,0x00,0x70,0x18,0x64,0x01,0xBC,
0x18,0x6B,0xFF,0xD8,0x18,0x70,0x00,0x00,0x18,0x60,0x00,0x00,0x18,0x60,
0x00,0x00,0x18,0x62,0x00,0x00,0x18,0x63,0xFF,0xC0,0x1F,0xE3,0x00,0xC0,
0x18,0x63,0x00,0xC0,0x18,0x63,0x00,0xC0,0x18,0x03,0x00,0xC0,0x18,0x03,
0x00,0xC0,0x10,0x03,0x00,0xC0,0x00,0x03,0x00,0xC0,0x00,0x03,0xFF,0xC0,
0x00,0x03,0x00,0xC0,0x00,0x03,0x00,0xC0,0x00,0x02,0x00,0x80,0x00,0x00,
0x00,0x00,/*"哈",0*/
};
const unsigned char NewBFontLAT[] = {
/* Code: 0x20, ASCII Character: ' ' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x21, ASCII Character: '!' */
0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
/* Code: 0x22, ASCII Character: '"' */
0x00, 0x38, 0x08, 0x00, 0x38, 0x08, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x23, ASCII Character: '#' */
0x00, 0x40, 0xE0, 0x58, 0xE0, 0x58, 0x00, 0x00,
0x0D, 0x03, 0x0D, 0x03, 0x01, 0x00,
/* Code: 0x24, ASCII Character: '$' */
0x00, 0x60, 0x90, 0x98, 0x90, 0x00, 0x00, 0x00,
0x03, 0x02, 0x0E, 0x01, 0x00, 0x00,
/* Code: 0x25, ASCII Character: '%' */
0x00, 0x90, 0xA8, 0x90, 0x40, 0x40, 0x00, 0x00,
0x00, 0x00, 0x02, 0x05, 0x02, 0x00,
/* Code: 0x26, ASCII Character: '&' */
0x00, 0x00, 0xC0, 0x20, 0x20, 0x00, 0x00, 0x00,
0x03, 0x04, 0x05, 0x02, 0x05, 0x00,
/* Code: 0x27, ASCII Character: ''' */
0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x28, ASCII Character: '(' */
0x00, 0x00, 0x00, 0xE0, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0x18, 0x00, 0x00,
/* Code: 0x29, ASCII Character: ')' */
0x00, 0x00, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x07, 0x00, 0x00, 0x00,
/* Code: 0x2A, ASCII Character: '*' */
0x00, 0x10, 0xD0, 0x38, 0xD0, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x2B, ASCII Character: '+' */
0x80, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
/* Code: 0x2C, ASCII Character: ',' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x0E, 0x02, 0x00, 0x00,
/* Code: 0x2D, ASCII Character: '-' */
0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x2E, ASCII Character: '.' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x06, 0x00, 0x00, 0x00,
/* Code: 0x2F, ASCII Character: '/' */
0x00, 0x00, 0x00, 0x80, 0x60, 0x18, 0x00, 0x00,
0x08, 0x06, 0x01, 0x00, 0x00, 0x00,
/* Code: 0x30, ASCII Character: '0' */
0x00, 0xF0, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x31, ASCII Character: '1' */
0x00, 0x00, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0x32, ASCII Character: '2' */
0x00, 0x10, 0x08, 0x88, 0x48, 0x30, 0x00, 0x00,
0x06, 0x05, 0x04, 0x04, 0x06, 0x00,
/* Code: 0x33, ASCII Character: '3' */
0x00, 0x10, 0x08, 0x48, 0x48, 0xB0, 0x00, 0x00,
0x02, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x34, ASCII Character: '4' */
0x00, 0x80, 0x40, 0x30, 0x08, 0xF8, 0x00, 0x00,
0x01, 0x01, 0x01, 0x05, 0x07, 0x05,
/* Code: 0x35, ASCII Character: '5' */
0x00, 0x00, 0x78, 0x48, 0x48, 0x88, 0x00, 0x00,
0x02, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x36, ASCII Character: '6' */
0x00, 0xE0, 0x50, 0x48, 0x48, 0x88, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x37, ASCII Character: '7' */
0x00, 0x18, 0x08, 0x08, 0xC8, 0x38, 0x00, 0x00,
0x00, 0x00, 0x06, 0x01, 0x00, 0x00,
/* Code: 0x38, ASCII Character: '8' */
0x00, 0xB0, 0x48, 0x48, 0x48, 0xB0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x39, ASCII Character: '9' */
0x00, 0x70, 0x88, 0x88, 0x88, 0xF0, 0x00, 0x00,
0x04, 0x04, 0x04, 0x02, 0x01, 0x00,
/* Code: 0x3A, ASCII Character: ':' */
0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x06, 0x00, 0x00, 0x00,
/* Code: 0x3B, ASCII Character: ';' */
0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00,
0x00, 0x0C, 0x06, 0x02, 0x00, 0x00,
/* Code: 0x3C, ASCII Character: '<' */
0x80, 0x40, 0x40, 0x20, 0x10, 0x10, 0x00, 0x00,
0x01, 0x01, 0x02, 0x04, 0x04, 0x00,
/* Code: 0x3D, ASCII Character: '=' */
0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
/* Code: 0x3E, ASCII Character: '>' */
0x10, 0x10, 0x20, 0x40, 0x40, 0x80, 0x00, 0x04,
0x04, 0x02, 0x01, 0x01, 0x00, 0x00,
/* Code: 0x3F, ASCII Character: '?' */
0x00, 0x00, 0x20, 0x10, 0x90, 0x60, 0x00, 0x00,
0x00, 0x04, 0x05, 0x00, 0x00, 0x00,
/* Code: 0x40, ASCII Character: '@' */
0x00, 0xF8, 0x04, 0xC4, 0x24, 0xF8, 0x00, 0x00,
0x07, 0x08, 0x08, 0x09, 0x05, 0x00,
/* Code: 0x41, ASCII Character: 'A' */
0x00, 0x00, 0xE8, 0x18, 0xE0, 0x00, 0x00, 0x04,
0x07, 0x05, 0x01, 0x05, 0x07, 0x04,
/* Code: 0x42, ASCII Character: 'B' */
0x08, 0xF8, 0x48, 0x48, 0x48, 0xB0, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x43, ASCII Character: 'C' */
0x00, 0xF0, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x02, 0x00,
/* Code: 0x44, ASCII Character: 'D' */
0x08, 0xF8, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x04,
0x07, 0x04, 0x04, 0x02, 0x01, 0x00,
/* Code: 0x45, ASCII Character: 'E' */
0x08, 0xF8, 0x48, 0xE8, 0x08, 0x18, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x06, 0x00,
/* Code: 0x46, ASCII Character: 'F' */
0x00, 0x08, 0xF8, 0x48, 0xE8, 0x08, 0x18, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0x47, ASCII Character: 'G' */
0x00, 0xF0, 0x08, 0x08, 0x88, 0x98, 0x80, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x48, ASCII Character: 'H' */
0x08, 0xF8, 0x48, 0x40, 0x48, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0x49, ASCII Character: 'I' */
0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0x4A, ASCII Character: 'J' */
0x00, 0x80, 0x08, 0x08, 0xF8, 0x08, 0x00, 0x00,
0x03, 0x04, 0x04, 0x03, 0x00, 0x00,
/* Code: 0x4B, ASCII Character: 'K' */
0x08, 0xF8, 0x88, 0xC0, 0x28, 0x18, 0x08, 0x04,
0x07, 0x04, 0x00, 0x01, 0x06, 0x04,
/* Code: 0x4C, ASCII Character: 'L' */
0x00, 0x08, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x00,
0x04, 0x07, 0x04, 0x04, 0x07, 0x00,
/* Code: 0x4D, ASCII Character: 'M' */
0x08, 0xF8, 0x38, 0xC0, 0x38, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0x4E, ASCII Character: 'N' */
0x08, 0xF8, 0x38, 0xC0, 0x08, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x01, 0x06, 0x07, 0x00,
/* Code: 0x4F, ASCII Character: 'O' */
0x00, 0xF0, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x50, ASCII Character: 'P' */
0x00, 0x08, 0xF8, 0x88, 0x88, 0x70, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0x51, ASCII Character: 'Q' */
0x00, 0xF0, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00,
0x03, 0x04, 0x0C, 0x0C, 0x0B, 0x00,
/* Code: 0x52, ASCII Character: 'R' */
0x08, 0xF8, 0x88, 0x88, 0x88, 0x70, 0x00, 0x04,
0x07, 0x04, 0x00, 0x01, 0x02, 0x04,
/* Code: 0x53, ASCII Character: 'S' */
0x00, 0x30, 0x48, 0x48, 0x50, 0x98, 0x00, 0x00,
0x06, 0x02, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x54, ASCII Character: 'T' */
0x18, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x18, 0x00,
0x00, 0x04, 0x07, 0x04, 0x00, 0x00,
/* Code: 0x55, ASCII Character: 'U' */
0x08, 0xF8, 0x08, 0x00, 0x08, 0xF8, 0x08, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x56, ASCII Character: 'V' */
0x08, 0x38, 0xC8, 0x00, 0xC8, 0x38, 0x08, 0x00,
0x00, 0x01, 0x06, 0x01, 0x00, 0x00,
/* Code: 0x57, ASCII Character: 'W' */
0x08, 0xF8, 0x08, 0xC0, 0x08, 0xF8, 0x08, 0x00,
0x03, 0x04, 0x03, 0x04, 0x03, 0x00,
/* Code: 0x58, ASCII Character: 'X' */
0x08, 0x18, 0x20, 0xC0, 0x20, 0x18, 0x08, 0x04,
0x06, 0x01, 0x00, 0x01, 0x06, 0x04,
/* Code: 0x59, ASCII Character: 'Y' */
0x08, 0x18, 0x68, 0x80, 0x68, 0x18, 0x08, 0x00,
0x00, 0x04, 0x07, 0x04, 0x00, 0x00,
/* Code: 0x5A, ASCII Character: 'Z' */
0x00, 0x18, 0x08, 0xC8, 0x28, 0x18, 0x00, 0x00,
0x06, 0x05, 0x04, 0x04, 0x06, 0x00,
/* Code: 0x5B, ASCII Character: '[' */
0x00, 0x00, 0xF8, 0x08, 0x08, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x10, 0x10, 0x00, 0x00,
/* Code: 0x5C, ASCII Character: '\' */
0x00, 0x08, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x0E, 0x00, 0x00,
/* Code: 0x5D, ASCII Character: ']' */
0x00, 0x00, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x10, 0x10, 0x1F, 0x00, 0x00,
/* Code: 0x5E, ASCII Character: '^' */
0x00, 0x40, 0x20, 0x18, 0x20, 0x40, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x5F, ASCII Character: '_' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
/* Code: 0x60, ASCII Character: '`' */
0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x61, ASCII Character: 'a' */
0x00, 0x40, 0xA0, 0xA0, 0xA0, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x07, 0x04,
/* Code: 0x62, ASCII Character: 'b' */
0x08, 0xF8, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x63, ASCII Character: 'c' */
0x00, 0xC0, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x02, 0x00,
/* Code: 0x64, ASCII Character: 'd' */
0x00, 0xC0, 0x20, 0x20, 0x48, 0xF8, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x07, 0x04,
/* Code: 0x65, ASCII Character: 'e' */
0x00, 0xC0, 0xA0, 0xA0, 0xA0, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x04, 0x00,
/* Code: 0x66, ASCII Character: 'f' */
0x00, 0x20, 0xF0, 0x28, 0x28, 0x28, 0x00, 0x00,
0x04, 0x07, 0x04, 0x04, 0x04, 0x00,
/* Code: 0x67, ASCII Character: 'g' */
0x00, 0xC0, 0x20, 0x20, 0x40, 0xE0, 0x20, 0x00,
0x03, 0x14, 0x14, 0x14, 0x0F, 0x00,
/* Code: 0x68, ASCII Character: 'h' */
0x08, 0xF8, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0x69, ASCII Character: 'i' */
0x00, 0x20, 0x20, 0xE8, 0x00, 0x00, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0x6A, ASCII Character: 'j' */
0x00, 0x20, 0x20, 0x28, 0xE0, 0x00, 0x00, 0x00,
0x10, 0x10, 0x10, 0x0F, 0x00, 0x00,
/* Code: 0x6B, ASCII Character: 'k' */
0x08, 0xF8, 0x80, 0xA0, 0x60, 0x20, 0x00, 0x04,
0x07, 0x00, 0x05, 0x06, 0x04, 0x00,
/* Code: 0x6C, ASCII Character: 'l' */
0x00, 0x00, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0x6D, ASCII Character: 'm' */
0x20, 0xE0, 0x20, 0xC0, 0x20, 0xC0, 0x00, 0x04,
0x07, 0x04, 0x07, 0x04, 0x07, 0x04,
/* Code: 0x6E, ASCII Character: 'n' */
0x20, 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0x6F, ASCII Character: 'o' */
0x00, 0xC0, 0x20, 0x20, 0x20, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x70, ASCII Character: 'p' */
0x20, 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x10,
0x1F, 0x14, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x71, ASCII Character: 'q' */
0x00, 0xC0, 0x20, 0x20, 0x40, 0xE0, 0x20, 0x00,
0x03, 0x04, 0x04, 0x14, 0x1F, 0x10,
/* Code: 0x72, ASCII Character: 'r' */
0x00, 0x20, 0xE0, 0x40, 0x20, 0x20, 0x00, 0x00,
0x04, 0x07, 0x04, 0x04, 0x04, 0x00,
/* Code: 0x73, ASCII Character: 's' */
0x00, 0x40, 0xA0, 0xA0, 0xA0, 0x60, 0x00, 0x00,
0x06, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0x74, ASCII Character: 't' */
0x00, 0x20, 0xF0, 0x20, 0x20, 0x20, 0x00, 0x00,
0x00, 0x03, 0x04, 0x04, 0x04, 0x02,
/* Code: 0x75, ASCII Character: 'u' */
0x20, 0xE0, 0x00, 0x00, 0x20, 0xE0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x02, 0x07, 0x04,
/* Code: 0x76, ASCII Character: 'v' */
0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x00,
0x00, 0x03, 0x04, 0x03, 0x00, 0x00,
/* Code: 0x77, ASCII Character: 'w' */
0x20, 0xE0, 0x20, 0x80, 0x20, 0xE0, 0x20, 0x00,
0x03, 0x04, 0x03, 0x04, 0x03, 0x00,
/* Code: 0x78, ASCII Character: 'x' */
0x20, 0x60, 0x80, 0x80, 0x60, 0x20, 0x00, 0x04,
0x06, 0x01, 0x01, 0x06, 0x04, 0x00,
/* Code: 0x79, ASCII Character: 'y' */
0x20, 0x60, 0xA0, 0x00, 0x20, 0xE0, 0x20, 0x00,
0x10, 0x11, 0x1E, 0x13, 0x00, 0x00,
/* Code: 0x7A, ASCII Character: 'z' */
0x00, 0x60, 0x20, 0xA0, 0x60, 0x20, 0x00, 0x00,
0x06, 0x05, 0x04, 0x04, 0x06, 0x00,
/* Code: 0x7B, ASCII Character: '{' */
0x00, 0x00, 0x00, 0xF0, 0x08, 0x00, 0x00, 0x00,
0x00, 0x01, 0x0E, 0x10, 0x00, 0x00,
/* Code: 0x7C, ASCII Character: '|' */
0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
/* Code: 0x7D, ASCII Character: '}' */
0x00, 0x00, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x0E, 0x01, 0x00, 0x00,
/* Code: 0x7E, ASCII Character: '~' */
0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
/* Code: 0x7F, ASCII Character: '' */
0xF8, 0x08, 0x08, 0x08, 0x08, 0xF8, 0x00, 0x07,
0x04, 0x04, 0x04, 0x04, 0x07, 0x00,
/* Code: 0x80, ASCII Character: 'Ђ' */
0x18, 0x08, 0xF8, 0x88, 0x58, 0x40, 0x80, 0x00,
0x04, 0x07, 0x04, 0x00, 0x04, 0x03,
/* Code: 0x81, ASCII Character: 'Ѓ' */
0x00, 0x08, 0xF8, 0x0A, 0x09, 0x08, 0x38, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0x82, ASCII Character: '‚' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x0E, 0x02, 0x00, 0x00, 0x00,
/* Code: 0x83, ASCII Character: 'ѓ' */
0x00, 0x20, 0xE0, 0x28, 0x24, 0xE0, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x01, 0x00,
/* Code: 0x84, ASCII Character: '„' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x08, 0x04, 0x0A, 0x04, 0x02, 0x00,
/* Code: 0x85, ASCII Character: '...' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x04, 0x00, 0x04, 0x00,
/* Code: 0x86, ASCII Character: '†' */
0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00,
0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
/* Code: 0x87, ASCII Character: '‡' */
0x00, 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00,
0x01, 0x01, 0x07, 0x01, 0x01, 0x00,
/* Code: 0x88, ASCII Character: '€' */
0xA0, 0xF0, 0xA8, 0xA8, 0xA8, 0xA8, 0x18, 0x00,
0x01, 0x02, 0x04, 0x04, 0x04, 0x02,
/* Code: 0x89, ASCII Character: '‰' */
0x10, 0x68, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00,
0x02, 0x05, 0x02, 0x02, 0x05, 0x02,
/* Code: 0x8A, ASCII Character: 'Љ' */
0x00, 0x08, 0xF8, 0x08, 0xF8, 0x48, 0x80, 0x06,
0x04, 0x03, 0x04, 0x07, 0x04, 0x03,
/* Code: 0x8B, ASCII Character: '‹' */
0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00,
0x01, 0x02, 0x04, 0x00, 0x00, 0x00,
/* Code: 0x8C, ASCII Character: 'Њ' */
0xF8, 0x88, 0x80, 0xF8, 0x88, 0x80, 0x00, 0x07,
0x04, 0x00, 0x07, 0x04, 0x04, 0x03,
/* Code: 0x8D, ASCII Character: 'Ќ' */
0x08, 0xF8, 0x48, 0xA2, 0x11, 0x08, 0x18, 0x04,
0x07, 0x04, 0x00, 0x01, 0x06, 0x04,
/* Code: 0x8E, ASCII Character: 'Ћ' */
0x18, 0x08, 0xF8, 0x88, 0x58, 0xC0, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x07, 0x04,
/* Code: 0x8F, ASCII Character: 'Џ' */
0x08, 0xF8, 0x08, 0x00, 0x08, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x1C, 0x04, 0x07, 0x04,
/* Code: 0x90, ASCII Character: 'ђ' */
0x10, 0xF8, 0x50, 0x50, 0x40, 0x80, 0x00, 0x04,
0x07, 0x14, 0x10, 0x10, 0x0F, 0x00,
/* Code: 0x91, ASCII Character: ''' */
0x00, 0x00, 0x00, 0x08, 0x38, 0x60, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x92, ASCII Character: ''' */
0x00, 0x60, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x93, ASCII Character: '"' */
0x00, 0x08, 0x10, 0x28, 0x10, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x94, ASCII Character: '"' */
0x00, 0x20, 0x10, 0x28, 0x10, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x95, ASCII Character: '•' */
0x00, 0x00, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x96, ASCII Character: '--' */
0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x97, ASCII Character: '---' */
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x98, ASCII Character: '' */
0xF8, 0x08, 0x08, 0x08, 0x08, 0xF8, 0x00, 0x07,
0x04, 0x04, 0x04, 0x04, 0x07, 0x00,
/* Code: 0x99, ASCII Character: '™' */
0x78, 0x48, 0x78, 0x58, 0x20, 0x58, 0x78, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0x9A, ASCII Character: 'љ' */
0x20, 0xE0, 0x20, 0xE0, 0xA0, 0x80, 0x00, 0x04,
0x07, 0x00, 0x07, 0x04, 0x07, 0x00,
/* Code: 0x9B, ASCII Character: '›' */
0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x00, 0x00,
0x00, 0x00, 0x04, 0x02, 0x01, 0x00,
/* Code: 0x9C, ASCII Character: 'њ' */
0x20, 0xE0, 0x80, 0xE0, 0xA0, 0x80, 0x00, 0x04,
0x07, 0x00, 0x07, 0x04, 0x07, 0x00,
/* Code: 0x9D, ASCII Character: 'ќ' */
0x20, 0xE0, 0xA0, 0xC8, 0x24, 0x60, 0x00, 0x04,
0x07, 0x04, 0x00, 0x01, 0x06, 0x04,
/* Code: 0x9E, ASCII Character: 'ћ' */
0x10, 0xF8, 0x50, 0x50, 0x40, 0x80, 0x00, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0x9F, ASCII Character: 'џ' */
0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x1C, 0x04, 0x07, 0x04,
/* Code: 0xA0, ASCII Character: ' ' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0xA1, ASCII Character: 'Ў' */
0x08, 0x38, 0x49, 0x82, 0x4A, 0x39, 0x08, 0x00,
0x04, 0x06, 0x01, 0x00, 0x00, 0x00,
/* Code: 0xA2, ASCII Character: 'ў' */
0x20, 0x60, 0xA4, 0x08, 0x28, 0xE4, 0x20, 0x00,
0x18, 0x11, 0x0E, 0x03, 0x00, 0x00,
/* Code: 0xA3, ASCII Character: 'Ј' */
0x00, 0x80, 0x08, 0x08, 0xF8, 0x08, 0x00, 0x00,
0x03, 0x04, 0x04, 0x03, 0x00, 0x00,
/* Code: 0xA4, ASCII Character: '¤' */
0x00, 0x10, 0xE0, 0x20, 0x20, 0xE0, 0x10, 0x00,
0x02, 0x01, 0x01, 0x01, 0x01, 0x02,
/* Code: 0xA5, ASCII Character: 'Ґ' */
0x00, 0x08, 0xF8, 0x08, 0x08, 0x0E, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0xA6, ASCII Character: '¦' */
0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
/* Code: 0xA7, ASCII Character: '§' */
0x00, 0x60, 0xB8, 0x28, 0x48, 0x88, 0x18, 0x00,
0x0C, 0x08, 0x09, 0x0A, 0x0E, 0x03,
/* Code: 0xA8, ASCII Character: 'Ё' */
0x08, 0xF8, 0x4A, 0xE8, 0x0A, 0x18, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x06, 0x00,
/* Code: 0xA9, ASCII Character: '©' */
0xC0, 0x20, 0xD0, 0x50, 0x50, 0x20, 0xC0, 0x01,
0x02, 0x05, 0x05, 0x05, 0x02, 0x01,
/* Code: 0xAA, ASCII Character: 'Є' */
0x00, 0xF0, 0x48, 0x48, 0x48, 0x18, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x02, 0x00,
/* Code: 0xAB, ASCII Character: '<<' */
0x00, 0x00, 0x80, 0x40, 0x00, 0x80, 0x40, 0x00,
0x01, 0x02, 0x04, 0x01, 0x02, 0x04,
/* Code: 0xAC, ASCII Character: '¬' */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x07,
/* Code: 0xAD, ASCII Character: '' */
0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0xAE, ASCII Character: '®' */
0xC0, 0x20, 0xF0, 0xB0, 0x70, 0x20, 0xC0, 0x01,
0x03, 0x05, 0x05, 0x05, 0x02, 0x01,
/* Code: 0xAF, ASCII Character: 'Ї' */
0x00, 0x08, 0x0A, 0xF8, 0x0A, 0x08, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0xB0, ASCII Character: '°' */
0x00, 0x00, 0x1C, 0x14, 0x1C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0xB1, ASCII Character: '±' */
0x80, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x04,
0x04, 0x04, 0x07, 0x04, 0x04, 0x04,
/* Code: 0xB2, ASCII Character: 'І' */
0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0xB3, ASCII Character: 'і' */
0x00, 0x20, 0x20, 0xE8, 0x00, 0x00, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0xB4, ASCII Character: 'ґ' */
0x00, 0x20, 0xE0, 0x20, 0x20, 0x38, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0xB5, ASCII Character: 'µ' */
0x20, 0xE0, 0x00, 0x00, 0x20, 0xE0, 0x00, 0x00,
0x1F, 0x04, 0x04, 0x02, 0x07, 0x04,
/* Code: 0xB6, ASCII Character: '¶' */
0x70, 0x88, 0x88, 0xF8, 0x08, 0xF8, 0x08, 0x00,
0x08, 0x08, 0x0F, 0x00, 0x0F, 0x08,
/* Code: 0xB7, ASCII Character: '·' */
0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Code: 0xB8, ASCII Character: 'ё' */
0x00, 0xC0, 0xA8, 0xA0, 0xA8, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x04, 0x00,
/* Code: 0xB9, ASCII Character: '№' */
0x08, 0xF8, 0x70, 0x88, 0xF8, 0x08, 0x70, 0x04,
0x07, 0x04, 0x03, 0x07, 0x00, 0x01,
/* Code: 0xBA, ASCII Character: 'є' */
0x00, 0xC0, 0xA0, 0xA0, 0x20, 0x60, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x02, 0x00,
/* Code: 0xBB, ASCII Character: '>>' */
0x40, 0x80, 0x00, 0x40, 0x80, 0x00, 0x00, 0x04,
0x02, 0x01, 0x04, 0x02, 0x01, 0x00,
/* Code: 0xBC, ASCII Character: 'ј' */
0x00, 0x20, 0x20, 0x28, 0xE0, 0x00, 0x00, 0x00,
0x10, 0x10, 0x10, 0x0F, 0x00, 0x00,
/* Code: 0xBD, ASCII Character: 'Ѕ' */
0x00, 0x30, 0x48, 0x48, 0x50, 0x98, 0x00, 0x00,
0x06, 0x02, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xBE, ASCII Character: 'ѕ' */
0x00, 0x40, 0xA0, 0xA0, 0xA0, 0x60, 0x00, 0x00,
0x06, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xBF, ASCII Character: 'ї' */
0x00, 0x20, 0x28, 0xE0, 0x08, 0x00, 0x00, 0x00,
0x04, 0x04, 0x07, 0x04, 0x04, 0x00,
/* Code: 0xC0, ASCII Character: 'А' */
0x00, 0x00, 0xE8, 0x18, 0xE0, 0x00, 0x00, 0x04,
0x07, 0x05, 0x01, 0x05, 0x07, 0x04,
/* Code: 0xC1, ASCII Character: 'Б' */
0x08, 0xF8, 0x48, 0x48, 0x48, 0x98, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xC2, ASCII Character: 'В' */
0x08, 0xF8, 0x48, 0x48, 0x48, 0xB0, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xC3, ASCII Character: 'Г' */
0x00, 0x08, 0xF8, 0x08, 0x08, 0x08, 0x38, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0xC4, ASCII Character: 'Д' */
0x08, 0xF8, 0x08, 0x08, 0xF8, 0x08, 0x00, 0x1C,
0x07, 0x04, 0x04, 0x07, 0x1C, 0x00,
/* Code: 0xC5, ASCII Character: 'Е' */
0x08, 0xF8, 0x48, 0xE8, 0x08, 0x18, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x06, 0x00,
/* Code: 0xC6, ASCII Character: 'Ж' */
0x08, 0x18, 0xA0, 0xF8, 0xA0, 0x18, 0x08, 0x04,
0x07, 0x00, 0x07, 0x00, 0x07, 0x04,
/* Code: 0xC7, ASCII Character: 'З' */
0x00, 0x38, 0x10, 0x48, 0x48, 0xB0, 0x00, 0x00,
0x04, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xC8, ASCII Character: 'И' */
0x08, 0xF8, 0x08, 0xC0, 0x30, 0xF8, 0x08, 0x04,
0x07, 0x03, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xC9, ASCII Character: 'Й' */
0x08, 0xF8, 0x09, 0xC2, 0x32, 0xF9, 0x08, 0x04,
0x07, 0x03, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xCA, ASCII Character: 'К' */
0x08, 0xF8, 0x48, 0xA0, 0x10, 0x08, 0x18, 0x04,
0x07, 0x04, 0x00, 0x01, 0x06, 0x04,
/* Code: 0xCB, ASCII Character: 'Л' */
0x00, 0x08, 0xF8, 0x08, 0x08, 0xF8, 0x08, 0x04,
0x04, 0x03, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xCC, ASCII Character: 'М' */
0x08, 0xF8, 0x38, 0xC0, 0x38, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xCD, ASCII Character: 'Н' */
0x08, 0xF8, 0x48, 0x40, 0x48, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xCE, ASCII Character: 'О' */
0x00, 0xF0, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xCF, ASCII Character: 'П' */
0x08, 0xF8, 0x08, 0x08, 0x08, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xD0, ASCII Character: 'Р' */
0x00, 0x08, 0xF8, 0x88, 0x88, 0x70, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x00, 0x00,
/* Code: 0xD1, ASCII Character: 'С' */
0x00, 0xF0, 0x08, 0x08, 0x08, 0x18, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x02, 0x00,
/* Code: 0xD2, ASCII Character: 'Т' */
0x18, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x18, 0x00,
0x00, 0x04, 0x07, 0x04, 0x00, 0x00,
/* Code: 0xD3, ASCII Character: 'У' */
0x08, 0x38, 0x48, 0x80, 0x48, 0x38, 0x08, 0x00,
0x04, 0x06, 0x01, 0x00, 0x00, 0x00,
/* Code: 0xD4, ASCII Character: 'Ф' */
0xC0, 0x20, 0x28, 0xF8, 0x28, 0x20, 0xC0, 0x00,
0x01, 0x05, 0x07, 0x05, 0x01, 0x00,
/* Code: 0xD5, ASCII Character: 'Х' */
0x08, 0x18, 0x20, 0xC0, 0x20, 0x18, 0x08, 0x04,
0x06, 0x01, 0x00, 0x01, 0x06, 0x04,
/* Code: 0xD6, ASCII Character: 'Ц' */
0x08, 0xF8, 0x08, 0x00, 0x08, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x04, 0x04, 0x07, 0x1C,
/* Code: 0xD7, ASCII Character: 'Ч' */
0x08, 0xF8, 0x08, 0x00, 0x88, 0xF8, 0x08, 0x00,
0x00, 0x01, 0x01, 0x04, 0x07, 0x04,
/* Code: 0xD8, ASCII Character: 'Ш' */
0x08, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x07, 0x04, 0x07, 0x04,
/* Code: 0xD9, ASCII Character: 'Щ' */
0x08, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x07, 0x04, 0x07, 0x1C,
/* Code: 0xDA, ASCII Character: 'Ъ' */
0x78, 0x08, 0xF8, 0x48, 0x40, 0x40, 0x80, 0x00,
0x04, 0x07, 0x04, 0x04, 0x04, 0x03,
/* Code: 0xDB, ASCII Character: 'Ы' */
0x08, 0xF8, 0x48, 0x80, 0x08, 0xF8, 0x08, 0x04,
0x07, 0x04, 0x03, 0x04, 0x07, 0x04,
/* Code: 0xDC, ASCII Character: 'Ь' */
0x08, 0xF8, 0x48, 0x40, 0x40, 0x80, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xDD, ASCII Character: 'Э' */
0x00, 0x18, 0x48, 0x48, 0x48, 0xF0, 0x00, 0x00,
0x02, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xDE, ASCII Character: 'Ю' */
0x08, 0xF8, 0x48, 0xF0, 0x08, 0x08, 0xF0, 0x04,
0x07, 0x04, 0x03, 0x04, 0x04, 0x03,
/* Code: 0xDF, ASCII Character: 'Я' */
0x00, 0x70, 0x88, 0x88, 0x88, 0xF8, 0x08, 0x04,
0x03, 0x00, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xE0, ASCII Character: 'а' */
0x00, 0x40, 0xA0, 0xA0, 0xA0, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x07, 0x04,
/* Code: 0xE1, ASCII Character: 'б' */
0x00, 0xF0, 0x48, 0x28, 0x2C, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xE2, ASCII Character: 'в' */
0x00, 0x20, 0xE0, 0xA0, 0xA0, 0x40, 0x00, 0x00,
0x04, 0x07, 0x04, 0x04, 0x07, 0x00,
/* Code: 0xE3, ASCII Character: 'г' */
0x00, 0x20, 0xE0, 0x20, 0x20, 0xE0, 0x00, 0x00,
0x04, 0x07, 0x04, 0x00, 0x01, 0x00,
/* Code: 0xE4, ASCII Character: 'д' */
0x00, 0x20, 0xE0, 0x20, 0x20, 0xE0, 0x20, 0x0C,
0x04, 0x07, 0x04, 0x04, 0x07, 0x0C,
/* Code: 0xE5, ASCII Character: 'е' */
0x00, 0xC0, 0xA0, 0xA0, 0xA0, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x04, 0x00,
/* Code: 0xE6, ASCII Character: 'ж' */
0x60, 0x20, 0x40, 0xE0, 0x40, 0x20, 0x60, 0x04,
0x06, 0x01, 0x07, 0x01, 0x06, 0x04,
/* Code: 0xE7, ASCII Character: 'з' */
0x00, 0x20, 0xA0, 0xA0, 0xA0, 0x40, 0x00, 0x00,
0x04, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xE8, ASCII Character: 'и' */
0x20, 0xE0, 0x20, 0x80, 0x40, 0xE0, 0x20, 0x04,
0x07, 0x02, 0x01, 0x04, 0x07, 0x04,
/* Code: 0xE9, ASCII Character: 'й' */
0x20, 0xE0, 0x24, 0x88, 0x48, 0xE4, 0x20, 0x04,
0x07, 0x02, 0x01, 0x04, 0x07, 0x04,
/* Code: 0xEA, ASCII Character: 'к' */
0x20, 0xE0, 0xA0, 0xC0, 0x20, 0x60, 0x00, 0x04,
0x07, 0x04, 0x00, 0x01, 0x06, 0x04,
/* Code: 0xEB, ASCII Character: 'л' */
0x00, 0x20, 0xE0, 0x20, 0x20, 0xE0, 0x20, 0x06,
0x04, 0x03, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xEC, ASCII Character: 'м' */
0x20, 0xE0, 0x60, 0x80, 0x60, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x01, 0x04, 0x07, 0x04,
/* Code: 0xED, ASCII Character: 'н' */
0x20, 0xE0, 0xA0, 0x80, 0xA0, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xEE, ASCII Character: 'о' */
0x00, 0xC0, 0x20, 0x20, 0x20, 0xC0, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xEF, ASCII Character: 'п' */
0x20, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x00, 0x04, 0x07, 0x04,
/* Code: 0xF0, ASCII Character: 'р' */
0x20, 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x10,
0x1F, 0x14, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xF1, ASCII Character: 'с' */
0x00, 0xC0, 0x20, 0x20, 0x20, 0x60, 0x00, 0x00,
0x03, 0x04, 0x04, 0x04, 0x02, 0x00,
/* Code: 0xF2, ASCII Character: 'т' */
0x00, 0xE0, 0x20, 0xE0, 0x20, 0xE0, 0x00, 0x00,
0x00, 0x04, 0x07, 0x04, 0x00, 0x00,
/* Code: 0xF3, ASCII Character: 'у' */
0x20, 0x60, 0xA0, 0x00, 0x20, 0xE0, 0x20, 0x00,
0x18, 0x11, 0x0E, 0x03, 0x00, 0x00,
/* Code: 0xF4, ASCII Character: 'ф' */
0xC0, 0x20, 0x28, 0xF8, 0x20, 0x20, 0xC0, 0x03,
0x04, 0x14, 0x1F, 0x14, 0x04, 0x03,
/* Code: 0xF5, ASCII Character: 'х' */
0x20, 0x60, 0x80, 0x80, 0x60, 0x20, 0x00, 0x04,
0x06, 0x01, 0x01, 0x06, 0x04, 0x00,
/* Code: 0xF6, ASCII Character: 'ц' */
0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x04, 0x04, 0x07, 0x0C,
/* Code: 0xF7, ASCII Character: 'ч' */
0x20, 0xE0, 0x20, 0x00, 0xA0, 0xE0, 0x20, 0x00,
0x01, 0x01, 0x01, 0x04, 0x07, 0x04,
/* Code: 0xF8, ASCII Character: 'ш' */
0x20, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x07, 0x04, 0x07, 0x04,
/* Code: 0xF9, ASCII Character: 'щ' */
0x20, 0xE0, 0x00, 0xE0, 0x00, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x07, 0x04, 0x07, 0x0C,
/* Code: 0xFA, ASCII Character: 'ъ' */
0xE0, 0x20, 0xE0, 0xA0, 0x80, 0x80, 0x00, 0x00,
0x04, 0x07, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xFB, ASCII Character: 'ы' */
0x20, 0xE0, 0xA0, 0x80, 0x20, 0xE0, 0x20, 0x04,
0x07, 0x04, 0x07, 0x04, 0x07, 0x04,
/* Code: 0xFC, ASCII Character: 'ь' */
0x20, 0xE0, 0xA0, 0x80, 0x80, 0x00, 0x00, 0x04,
0x07, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xFD, ASCII Character: 'э' */
0x00, 0x60, 0x20, 0xA0, 0xA0, 0xC0, 0x00, 0x00,
0x02, 0x04, 0x04, 0x04, 0x03, 0x00,
/* Code: 0xFE, ASCII Character: 'ю' */
0x20, 0xE0, 0xA0, 0xC0, 0x20, 0x20, 0xC0, 0x04,
0x07, 0x04, 0x03, 0x04, 0x04, 0x03,
/* Code: 0xFF, ASCII Character: 'я' */
0x00, 0xC0, 0x20, 0x20, 0xE0, 0x20, 0x00, 0x04,
0x06, 0x01, 0x05, 0x07, 0x04, 0x00
};
//QQ图像
const unsigned char qqimage[3200]={ /* 0X00,0X10,0X28,0X00,0X28,0X00,0X01,0X1B,*/
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,0XBE,0XF7,0X7D,0XEF,
0XBA,0XD6,0XB6,0XB5,0XF3,0X9C,0XB2,0X94,0XB3,0X9C,0XB2,0X94,0X34,0XA5,0XF7,0XBD,
0XFB,0XDE,0X7D,0XEF,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,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XFB,0XDE,0XF3,0X9C,0XCB,0X5A,
0XC7,0X39,0X04,0X21,0X82,0X10,0X42,0X10,0X42,0X10,0X41,0X08,0X83,0X18,0X45,0X29,
0XC7,0X39,0X0C,0X63,0X75,0XAD,0X3C,0XE7,0XBE,0XF7,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,0XFF,0XFF,0X3C,0XE7,0XB2,0X94,0X08,0X42,0XC3,0X18,0X82,0X10,
0X04,0X21,0X45,0X29,0X86,0X31,0X86,0X31,0X86,0X31,0X86,0X31,0X45,0X29,0X04,0X21,
0X82,0X10,0X41,0X08,0XC3,0X18,0X08,0X42,0XF3,0X9C,0X3C,0XE7,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,0XFB,0XDE,0X0C,0X63,0XC3,0X18,0XC3,0X18,0X45,0X29,0XC7,0X39,
0X08,0X42,0X08,0X42,0X08,0X42,0X08,0X42,0X08,0X42,0X08,0X42,0XC7,0X39,0XC7,0X39,
0X86,0X31,0X86,0X31,0X04,0X21,0X41,0X08,0X82,0X10,0XCB,0X5A,0XBA,0XD6,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,0XFB,0XDE,0XCB,0X5A,0X82,0X10,0X45,0X29,0XC7,0X39,0X08,0X42,0X08,0X42,
0X09,0X4A,0X49,0X4A,0X49,0X4A,0X49,0X4A,0X49,0X4A,0X49,0X4A,0X08,0X42,0XC7,0X39,
0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X83,0X18,0X00,0X00,0XC8,0X41,0X38,0XC6,
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,
0X7D,0XEF,0X8E,0X73,0X82,0X10,0X45,0X29,0XC7,0X39,0X08,0X42,0X09,0X4A,0X8A,0X52,
0X30,0X84,0XCF,0X7B,0X8A,0X52,0X49,0X4A,0X4A,0X52,0X49,0X4A,0XCB,0X5A,0XCF,0X7B,
0X0C,0X63,0X08,0X42,0XC7,0X39,0X86,0X31,0X45,0X29,0XC3,0X18,0X00,0X00,0X49,0X4A,
0XBA,0XD6,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,
0XF3,0X9C,0XC3,0X18,0X04,0X21,0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X72,0X94,
0X7D,0XEF,0X7D,0XEF,0XB2,0X94,0X4A,0X52,0X49,0X4A,0X8A,0X52,0X75,0XAD,0XBE,0XF7,
0XBA,0XD6,0X4D,0X6B,0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0XC3,0X18,0X41,0X08,
0XCF,0X7B,0X7C,0XE7,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,0XBA,0XD6,
0X08,0X42,0X82,0X10,0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X8E,0X73,0XFB,0XDE,
0XFF,0XFF,0XBE,0XF7,0XBA,0XD6,0X8E,0X73,0X08,0X42,0X30,0X84,0X3C,0XE7,0X7D,0XEF,
0XFF,0XFF,0XB6,0XB5,0X49,0X4A,0XC7,0X39,0X86,0X31,0X45,0X29,0X04,0X21,0X41,0X08,
0X45,0X29,0XB6,0XB5,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0X71,0X8C,
0X41,0X08,0X45,0X29,0X08,0X42,0X49,0X4A,0X49,0X4A,0X4A,0X52,0XB2,0X94,0XBE,0XF7,
0XBE,0XF7,0XB2,0X94,0XCF,0X7B,0XCF,0X7B,0X49,0X4A,0XB6,0XB5,0XF3,0X9C,0X0C,0X63,
0X38,0XC6,0XBA,0XD6,0X0C,0X63,0X87,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0XC3,0X18,
0X41,0X08,0X30,0X84,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XE7,0XCB,0X5A,
0X41,0X08,0XC7,0X39,0X08,0X42,0X49,0X4A,0X4A,0X52,0X8A,0X52,0XF3,0X9C,0XFF,0XFF,
0X7D,0XEF,0XC7,0X39,0XC3,0X18,0X0C,0X63,0XCB,0X5A,0XB6,0XB5,0XB2,0X94,0XCB,0X5A,
0X75,0XAD,0XFA,0XD6,0X4D,0X6B,0X87,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X04,0X21,
0X41,0X08,0X8A,0X52,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X38,0XC6,0X86,0X31,
0X04,0X21,0XC8,0X41,0X49,0X4A,0X49,0X4A,0X4A,0X52,0X49,0X4A,0XB1,0X8C,0XBE,0XF7,
0XBE,0XF7,0XB2,0X94,0XCF,0X7B,0XCF,0X7B,0X49,0X4A,0X74,0XA5,0X7D,0XEF,0X7C,0XE7,
0XBE,0XF7,0X79,0XCE,0X0C,0X63,0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X04,0X21,
0X82,0X10,0X45,0X29,0X75,0XAD,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X34,0XA5,0X82,0X10,
0X86,0X31,0X08,0X42,0X49,0X4A,0X49,0X4A,0X8A,0X52,0X49,0X4A,0X4D,0X6B,0XBA,0XD6,
0XFF,0XFF,0XFF,0XFF,0X79,0XCE,0X0D,0X63,0XC7,0X39,0XCF,0X7B,0X7D,0XEF,0XFF,0XFF,
0XFF,0XFF,0X75,0XAD,0X08,0X42,0X86,0X31,0XC7,0X39,0X86,0X31,0X45,0X29,0X45,0X29,
0XC3,0X18,0XC3,0X18,0XB2,0X94,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XB2,0X8C,0X41,0X08,
0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X8A,0X52,0X8A,0X52,0X4A,0X4A,0XD0,0X7B,
0X7A,0XC6,0X7B,0XBE,0X90,0X6B,0XC9,0X39,0X88,0X31,0XC9,0X39,0XB3,0X84,0XBB,0XC6,
0XF8,0XB5,0XCC,0X5A,0X86,0X31,0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X45,0X29,
0XC4,0X20,0X41,0X08,0X30,0X84,0X3C,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XE7,0X8A,0X4A,0XC3,0X10,
0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X4A,0X4A,0X4A,0X42,0X09,0X3A,0X08,0X4A,
0X09,0X6B,0X49,0X7B,0XC6,0X7A,0X05,0X83,0X46,0X83,0XC5,0X7A,0XC6,0X72,0X09,0X7B,
0X48,0X5A,0X87,0X31,0X88,0X21,0X88,0X29,0X86,0X31,0X86,0X31,0X45,0X29,0X45,0X29,
0X04,0X21,0X41,0X08,0X4A,0X4A,0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XC5,0X82,0X50,0X05,0X41,
0XC7,0X29,0X08,0X42,0X49,0X4A,0X4A,0X42,0X49,0X4A,0X09,0X7B,0X88,0X9B,0XC6,0XB3,
0X21,0XD4,0XA0,0XDC,0XE1,0XE4,0X61,0XED,0X61,0XED,0X21,0XED,0XA0,0XE4,0X20,0XDC,
0X80,0XCB,0X43,0XAB,0XC4,0X82,0X06,0X5A,0X47,0X21,0X46,0X29,0X45,0X29,0X04,0X29,
0X04,0X19,0X82,0X10,0X82,0X18,0XF3,0X9C,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0X4D,0X93,0X00,0XA0,0X82,0XB8,
0XC7,0X31,0X09,0X32,0X49,0X4A,0X86,0X7A,0X43,0XC3,0X6B,0XED,0XF4,0XF6,0XEB,0XFD,
0X20,0XFD,0X20,0XFD,0X60,0XFD,0XA0,0XFD,0XA0,0XFD,0X60,0XFD,0X60,0XFD,0X20,0XFD,
0XE0,0XFC,0XA0,0XFC,0X60,0XF4,0XC1,0XDB,0X83,0X9A,0XC5,0X49,0X45,0X29,0X04,0X19,
0XC4,0X20,0X82,0X38,0X00,0X50,0XCB,0X6A,0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XEE,0X04,0XA1,0X00,0XC0,0X00,0XF0,
0XC3,0XA0,0XC8,0X41,0X49,0X42,0X05,0X9B,0X20,0XFC,0XA4,0XFC,0X69,0XFD,0XE8,0XFD,
0X63,0XFD,0X20,0XFD,0X60,0XFD,0X60,0XFD,0X60,0XFD,0X20,0XFD,0X20,0XFD,0XE0,0XFC,
0XE0,0XFC,0XA0,0XFC,0X60,0XFC,0X20,0XFC,0X41,0XD3,0XC5,0X49,0X45,0X19,0XC4,0X38,
0X82,0X68,0X41,0X88,0X00,0X70,0X49,0X5A,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XF6,0X82,0XC0,0X00,0XD0,0X86,0XC1,
0X46,0XF1,0X41,0XC8,0X45,0X79,0X89,0X52,0X88,0X62,0X86,0X6A,0XC6,0X7A,0XC4,0XBB,
0XE1,0XFC,0X60,0XFD,0X60,0XFD,0XA0,0XFD,0XA0,0XFD,0X60,0XFD,0X60,0XFD,0XE0,0XFC,
0X60,0XE4,0X03,0X93,0X84,0X72,0X44,0X6A,0XC5,0X41,0X45,0X29,0XC3,0X58,0X41,0XA8,
0X40,0X98,0X00,0XB0,0X00,0X60,0X0C,0X6B,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0XCE,0X83,0X82,0X88,0X00,0XF8,0XC4,0XD8,
0X0C,0XF3,0X8A,0XFA,0X82,0XE8,0X82,0XB0,0X45,0X69,0XC7,0X51,0X08,0X42,0X08,0X3A,
0X86,0X5A,0X83,0X9B,0XA2,0XBC,0X22,0XCD,0X21,0XCD,0XA1,0XC4,0X22,0XB4,0XC4,0X7A,
0X06,0X3A,0X86,0X29,0X45,0X29,0X05,0X31,0XC4,0X50,0X41,0X90,0X00,0XC0,0X00,0XA8,
0X00,0XA0,0X00,0XA8,0X00,0X30,0X4A,0X4A,0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0X8E,0X73,0XC3,0X18,0X05,0X39,0X82,0XA8,0X00,0XF8,
0XC3,0XF8,0X4D,0XFB,0X4D,0XFB,0XC7,0XF9,0XC3,0XF0,0X82,0XD8,0XC3,0XB0,0X04,0X81,
0X45,0X61,0X46,0X51,0X86,0X49,0X86,0X49,0X46,0X41,0X45,0X41,0X45,0X41,0X45,0X41,
0X05,0X49,0X04,0X61,0X82,0X90,0X41,0XB0,0X00,0XD0,0X00,0XC8,0X00,0XA8,0X00,0XA8,
0X00,0XB8,0X41,0X58,0X82,0X10,0X82,0X10,0XB2,0X94,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XF7,0XCF,0X7B,0X82,0X10,0X04,0X21,0X86,0X29,0X86,0X41,0X04,0X99,
0X40,0XE8,0X41,0XF8,0X86,0XF9,0XCB,0XFA,0X49,0XFA,0X82,0XF8,0X00,0XF8,0X00,0XF0,
0X00,0XE8,0X41,0XD8,0X41,0XD0,0X41,0XC0,0X41,0XC0,0X41,0XC0,0X41,0XC0,0X41,0XC8,
0X00,0XD0,0X00,0XE0,0X00,0XE0,0X00,0XD8,0X00,0XD0,0X00,0XB8,0X00,0XA8,0X41,0X88,
0X82,0X48,0X82,0X10,0X82,0X10,0X00,0X00,0X45,0X29,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,
0XBE,0XF7,0XF3,0X9C,0X82,0X10,0XC3,0X18,0X45,0X29,0X86,0X31,0XC7,0X31,0X30,0X7C,
0XF3,0XDC,0X86,0XE1,0X00,0XF0,0X00,0XF8,0X41,0XF8,0X41,0XF8,0X00,0XF8,0X00,0XF8,
0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,
0X00,0XE8,0X00,0XE0,0X00,0XE0,0X00,0XD8,0X00,0XC8,0X41,0XA0,0X8A,0X9A,0X0C,0X63,
0X04,0X11,0X82,0X10,0X82,0X10,0X41,0X08,0X00,0X00,0X4D,0X6B,0X7D,0XEF,0XFF,0XFF,
0XFB,0XDE,0X08,0X42,0X42,0X10,0X45,0X29,0X86,0X31,0X86,0X31,0X49,0X4A,0X38,0XBE,
0XFF,0XFF,0X38,0XD6,0X86,0XA9,0X00,0XC8,0X00,0XE0,0X00,0XF0,0X00,0XF8,0X00,0XF8,
0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF0,0X00,0XF0,
0X00,0XE8,0X00,0XE0,0X00,0XD0,0XC3,0X98,0X8A,0X8A,0XB2,0XA4,0XBA,0XC6,0XF7,0XB5,
0X08,0X42,0X41,0X08,0X82,0X10,0X41,0X08,0X00,0X00,0X45,0X29,0XF7,0XBD,0XFF,0XFF,
0X71,0X8C,0X41,0X08,0X04,0X21,0X45,0X29,0X86,0X31,0X86,0X31,0X0C,0X63,0X3C,0XE7,
0XFF,0XFF,0X79,0XD6,0X46,0XB9,0X00,0XE0,0X42,0XC8,0X82,0XA8,0X82,0XB0,0X41,0XD8,
0X82,0XE8,0X82,0XF0,0X41,0XE8,0X41,0XE8,0X41,0XE8,0X41,0XF0,0X41,0XE8,0X41,0XD8,
0X04,0XC1,0X08,0X92,0X4D,0X8B,0X34,0XA5,0XFB,0XC6,0XFB,0XD6,0XBA,0XCE,0X3C,0XE7,
0X30,0X84,0XC3,0X18,0X41,0X08,0X41,0X08,0X00,0X00,0X41,0X08,0XCF,0X7B,0X7D,0XEF,
0X49,0X4A,0X00,0X00,0X04,0X21,0X45,0X29,0X46,0X31,0X86,0X31,0X30,0X84,0XFF,0XFF,
0XFF,0XF7,0XF7,0XDD,0X09,0XDA,0X83,0XF8,0X01,0XF0,0X42,0XC0,0X82,0X98,0X49,0X9A,
0XF3,0XB4,0XF3,0XCC,0X71,0XBC,0X8E,0XBB,0X8E,0XBB,0X30,0XBC,0X71,0XBC,0XF3,0XBC,
0XB6,0XBD,0XFB,0XCE,0XBE,0XE7,0X7D,0XE7,0X3B,0XDF,0XBA,0XD6,0X79,0XCE,0XFB,0XDE,
0X75,0XAD,0X86,0X31,0X41,0X08,0X41,0X08,0X00,0X00,0X00,0X00,0X49,0X4A,0XFB,0XDE,
0X04,0X21,0X41,0X08,0X04,0X21,0X45,0X29,0X45,0X29,0X87,0X39,0XB2,0X94,0XFF,0XFF,
0XBE,0XF7,0X34,0XDD,0X0C,0XEB,0X09,0XFA,0X00,0XF0,0X01,0XD8,0X00,0XD8,0X8B,0XD2,
0X7D,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XFF,0X7D,0XEF,0XFB,0XDE,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XBA,0XD6,
0X78,0XC6,0XC7,0X39,0X00,0X00,0X41,0X08,0X00,0X00,0X00,0X00,0XC7,0X39,0X79,0XCE,
0X00,0X00,0X82,0X10,0XC3,0X18,0X04,0X21,0X05,0X29,0X86,0X31,0XB3,0X9C,0XFF,0XFF,
0XFF,0XF7,0X75,0XDD,0XC7,0XE9,0XC7,0XF9,0X01,0XF8,0X01,0XF0,0X00,0XE8,0X49,0XE2,
0XFB,0XEE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,0XFB,0XDE,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XBA,0XD6,
0XB9,0XCE,0X08,0X42,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC7,0X39,0X38,0XC6,
0X00,0X00,0X82,0X10,0X82,0X10,0X04,0X21,0X04,0X21,0X45,0X29,0X30,0X84,0XFF,0XFF,
0XFF,0XFF,0X38,0XDE,0XC4,0XD0,0X00,0XF0,0X01,0XF8,0X00,0XF8,0X00,0XF0,0X08,0XD2,
0XFB,0XE6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0X79,0XCE,0XBA,0XD6,
0X79,0XCE,0XC7,0X39,0X41,0X08,0X00,0X00,0X00,0X00,0X00,0X00,0X86,0X31,0X38,0XC6,
0X00,0X00,0X00,0X00,0XC3,0X18,0XCB,0X5A,0X86,0X31,0XC3,0X18,0XCB,0X5A,0X7D,0XEF,
0XFF,0XFF,0X7D,0XEF,0XCF,0XBB,0XC3,0XB0,0X41,0XD0,0X41,0XD0,0X82,0XB8,0X4D,0XB3,
0X7D,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XBE,0XF7,0XBE,0XF7,0X3D,0XEF,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0X79,0XCE,0XFA,0XD6,
0XF7,0XBD,0X04,0X21,0X86,0X31,0X04,0X21,0X00,0X00,0X00,0X00,0X86,0X31,0X38,0XC6,
0X86,0X31,0XC3,0X18,0XCB,0X5A,0X75,0XAD,0XCF,0X7B,0X41,0X08,0X86,0X31,0XF7,0XBD,
0XFF,0XFF,0XFF,0XFF,0XBE,0XEF,0X74,0XB5,0X30,0X9C,0X30,0X9C,0X72,0XA4,0XBB,0XD6,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XBE,0XF7,0X7D,0XEF,0X3C,0XE7,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0X79,0XCE,0X3C,0XE7,
0X71,0X8C,0X81,0X08,0X0C,0X63,0XCF,0X7B,0X82,0X10,0X00,0X00,0X8A,0X52,0X38,0XC6,
0X75,0XAD,0X71,0X8C,0XB6,0XB5,0X3C,0XE7,0XFB,0XDE,0XC7,0X39,0X00,0X00,0XCF,0X73,
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,0XBE,0XF7,
0X7D,0XEF,0X7D,0XEF,0X3B,0XDF,0XFA,0XD6,0X79,0XCE,0X79,0XCE,0XFB,0XDE,0XB9,0XCE,
0XC7,0X39,0XC4,0X20,0X71,0X8C,0XBA,0XD6,0X71,0X8C,0XCB,0X5A,0XB2,0X94,0XBA,0XD6,
0XFF,0XFF,0X7D,0XEF,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XB6,0XB5,0X46,0X29,0X05,0X19,
0X75,0XA5,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,0XBE,0XF7,
0X7D,0XEF,0X3C,0XE7,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XBA,0XD6,0XFC,0XDE,0X4E,0X63,
0X42,0X08,0X0C,0X63,0XF7,0XBD,0XBE,0XF7,0XFF,0XFF,0XFB,0XDE,0XFB,0XDE,0XBE,0XF7,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF4,0X9C,0X04,0X21,
0X05,0X21,0XB6,0XA5,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XBE,0XF7,0X7D,0XEF,
0X3C,0XE7,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XFB,0XDE,0XBB,0XD6,0XD1,0X73,0X83,0X18,
0X86,0X39,0X34,0X9D,0XBD,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XFF,0X35,0XD6,0XEB,0XCC,0X43,0XB3,
0X40,0X51,0X05,0X19,0XF5,0X8C,0XBE,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XBE,0XF7,0X7D,0XEF,0X7D,0XEF,0X3C,0XE7,
0XFB,0XDE,0XBA,0XDE,0XBA,0XD6,0X3C,0XDF,0X3A,0XBE,0X4F,0X63,0X82,0X49,0X40,0XA3,
0X23,0XB4,0XCC,0X83,0X3A,0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XF7,0XB5,0XBD,0X82,0X92,0X20,0XF4,0XA0,0XFC,
0X60,0XE4,0X40,0X82,0X84,0X41,0X8F,0X6B,0X77,0XAD,0X3D,0XE7,0XFF,0XFF,0XFF,0XFF,
0XFE,0XFF,0XBE,0XF7,0XBE,0XF7,0XBE,0XF7,0X7D,0XEF,0X7D,0XEF,0X3C,0XE7,0XFB,0XDE,
0XFB,0XDE,0X3D,0XE7,0XBB,0XCE,0X36,0X9D,0X0B,0X6B,0X41,0X6A,0X60,0XC4,0X20,0XFE,
0X60,0XF5,0X00,0X8B,0XC7,0X6A,0X38,0XC6,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0X4B,0X7B,0X80,0XB2,0XA0,0XFC,0XA0,0XFC,
0XE0,0XFC,0XE0,0XFC,0XC0,0XCB,0XC1,0X8A,0X45,0X62,0X4D,0X6B,0XB3,0X94,0XF7,0XBD,
0X3D,0XDF,0XFF,0XF7,0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,0X7D,0XEF,0X7D,0XE7,0X3D,0XDF,
0XBA,0XC6,0X75,0XA5,0X8D,0X7B,0X84,0X7A,0X40,0XB3,0XE0,0XEC,0XE0,0XFD,0XE0,0XFD,
0X60,0XF5,0X20,0XE5,0XA0,0XD4,0X0A,0X6B,0XFB,0XDE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0XCC,0X93,0X40,0XEB,0X60,0XFC,0XA0,0XFC,
0XE0,0XFC,0X20,0XFD,0X60,0XFD,0X20,0XF5,0XA0,0XD4,0XC0,0XBB,0X42,0X9B,0X45,0X8B,
0X6B,0X9C,0XAE,0X9C,0X71,0X8C,0XB3,0X94,0X33,0X9D,0X34,0XA5,0XF2,0XA4,0XF0,0XB4,
0XCA,0X9B,0X04,0X9B,0X40,0XBB,0X20,0XE4,0X20,0XFD,0XA0,0XFD,0XA0,0XFD,0XE0,0XFD,
0XE0,0XFD,0XE0,0XFD,0X20,0XC4,0X88,0X5A,0X38,0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X78,0XD6,0X46,0XAB,0X40,0XDB,0X20,0XF4,
0X60,0XFC,0XA0,0XFC,0XE0,0XFC,0X60,0XFD,0XA0,0XFD,0X60,0XFD,0X20,0XF5,0XA0,0XDC,
0XC0,0XB3,0XC0,0X51,0X86,0X29,0X0D,0X63,0X8F,0X7B,0X0D,0X5B,0XC7,0X41,0X01,0X82,
0X00,0XC3,0XC0,0XE3,0X60,0XFC,0XA0,0XFC,0XE0,0XFC,0XE0,0XFC,0X60,0XF5,0X60,0XF5,
0X20,0XE5,0X80,0X9B,0X86,0X62,0X30,0X84,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X38,0XC6,0X2D,0X9C,0X05,0X93,
0X43,0XA3,0X82,0XB3,0XC2,0XBB,0XC2,0XBB,0X22,0XB4,0X82,0XA3,0X42,0X93,0XC3,0X7A,
0X85,0X62,0X0B,0X63,0X71,0X84,0XB6,0XB5,0X79,0XCE,0X79,0XC6,0XB5,0XAD,0X70,0X94,
0X4A,0X8B,0X06,0X83,0X04,0X93,0X04,0X9B,0X43,0X9B,0X43,0X9B,0X43,0X93,0X04,0X83,
0X08,0X73,0X8D,0X73,0XB3,0X94,0X79,0XCE,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XDF,0X38,0XBE,
0X75,0XB5,0X33,0XA5,0X33,0XA5,0XF3,0X9C,0XF3,0X9C,0XF3,0X9C,0XF3,0X94,0XF3,0X9C,
0X35,0XA5,0XF8,0XBD,0XFB,0XDE,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7E,0XEF,
0XBB,0XD6,0XF8,0XBD,0XB6,0XAD,0X75,0XAD,0X34,0XA5,0X33,0X9D,0X34,0X9D,0X35,0XA5,
0XB7,0XAD,0X79,0XC6,0X3C,0XE7,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};
cpp
#include "func.h"
#include "font.h"
// func.c
ST7735_Config st7735_cfg = {
.width = 128,
.height = 160,
.rotation = 0
};
/////////////////////////////////////////////////////////////////////////////////////////////////////
//----------------------------------------初始化 -----------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void spi2_8b_init(void)
{
}
void spi2_16b_init(void)
{
}
void lcd7735_setRotation(uint8_t rotation) {
rotation %= 4;
st7735_cfg.rotation = rotation;
uint8_t madctl = 0;
switch (rotation) {
case 0:
madctl = 0x00; // 正常
st7735_cfg.width = 128;
st7735_cfg.height = 160;
break;
case 1:
madctl = 0xA0; // 90°
st7735_cfg.width = 160;
st7735_cfg.height = 128;
break;
case 2:
madctl = 0xC0; // 180°
st7735_cfg.width = 128;
st7735_cfg.height = 160;
break;
case 3:
madctl = 0x60; // 270°
st7735_cfg.width = 160;
st7735_cfg.height = 128;
break;
}
lcd7735_sendCmd(0x36);
lcd7735_sendData(madctl);
}
void lcd7735_senddata(uint8_t data)
{
for(int i=0;i<8;i++){
LCD_CLK0;
if( data& 0x80){
LCD_SDA1;
}
else{
LCD_SDA0;
}
LCD_CLK1;
data = data<<1;
}
}
void lcd7735_send16bData(uint16_t data)
{
for(int i=0;i<16;i++){
LCD_CLK0;
if( data& 0x8000){
LCD_SDA1;
}
else{
LCD_SDA0;
}
LCD_CLK1;
data = data<<1;
}
}
void lcd7735_ini(void) {
LCD_CS0; // CS=0
LCD_RST0; // RST=0
HAL_Delay(10);
LCD_RST1; // RST=1
HAL_Delay(10); //
lcd7735_sendCmd(0x11); // Sleep out
HAL_Delay(120);
lcd7735_sendCmd(0x3A); // Color mode
lcd7735_sendData(0x05); // 16-bit
lcd7735_setRotation(st7735_cfg.rotation); // 使用新函数
lcd7735_sendCmd(0x29); // Display on
LCD_CS1;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//----------------------------------------发送命令----------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_sendCmd(unsigned char cmd) {
LCD_DC0;//dc至0
lcd7735_senddata(cmd);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//----------------------------------------发送数据------------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_sendData(unsigned char data) {
LCD_DC1;//我们把DC输出为单位T.K.传送数据
lcd7735_senddata(data);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//----------------------------填充指定屏幕区域----------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_at(unsigned char startX, unsigned char startY, unsigned char stopX, unsigned char stopY) {
lcd7735_sendCmd(0x2A);//列地址指令
LCD_DC1;
lcd7735_senddata(0x00);
lcd7735_senddata(startX);
lcd7735_senddata(0x00);
lcd7735_senddata(stopX);
lcd7735_sendCmd(0x2B);//序列地址指令
LCD_DC1;
lcd7735_senddata(0x00);
lcd7735_senddata(startY);
lcd7735_senddata(0x00);
lcd7735_senddata(stopY);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//---------- 点亮所选直接空区的程序---------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_fillrect(unsigned char startX, unsigned char startY, unsigned char stopX, unsigned char stopY, unsigned int color) {
unsigned char y;
unsigned char x;
unsigned char msb = ((unsigned char)((color & 0xFF00) >> 8));//高8位
unsigned char lsb = ((unsigned char)(color & 0x00FF)); //低8位
// 限幅处理
if (startX >= st7735_cfg.width || startY >= st7735_cfg.height) return;
if (stopX >= st7735_cfg.width) stopX = st7735_cfg.width - 1;
if (stopY >= st7735_cfg.height) stopY = st7735_cfg.height - 1;
LCD_CS0;//cs至0
lcd7735_at(startX, startY, stopX, stopY);
lcd7735_sendCmd(0x2C);//内存写入
spi2_16b_init();// 初始化 16位
LCD_DC1;//8位编码
for (y = startY; y < stopY + 1; y++)
for (x = startX; x < stopX + 1; x++) {
lcd7735_send16bData(color);//将16位分成高8位和低8位
// lcd7735_sendData(msb);//8位编码
// lcd7735_sendData(lsb);//8位编码
}
// uint32_t pixelCount = (stopX - startX + 1) * (stopY - startY + 1);
// while (pixelCount--) {
// lcd7735_send16bData(color);
// }
while ((SPI2->SR) & SPI_SR_BSY); // 更待spi2 原因未知
spi2_8b_init();
LCD_CS1;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//--------------------------------------- 点亮像素点 -------------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_putpix(unsigned char x, unsigned char y, unsigned int Color) {
LCD_CS0;
lcd7735_at(x, y, x, y);
lcd7735_sendCmd(0x2C);//存储记录
LCD_DC1;
lcd7735_senddata((unsigned char)((Color & 0xFF00) >> 8));//根据预先协议,改变字节大小
lcd7735_senddata((unsigned char)(Color & 0x00FF));
LCD_CS1;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//--------------------------------------- 画线 -------------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_line(unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, unsigned int color) {
signed char dx, dy, sx, sy;
unsigned char x, y, mdx, mdy, l;
if (x1 == x2) { //
lcd7735_fillrect(x1, y1, x1, y2, color);//线路是直线的话
return;
}
if (y1 == y2) { //
lcd7735_fillrect(x1, y1, x2, y1, color);//线路是直线的话
return;
}
//здесь расчет черчения косой линии
dx = x2 - x1; dy = y2 - y1;
if (dx >= 0) { mdx = dx; sx = 1; }
else { mdx = x1 - x2; sx = -1; }
if (dy >= 0) { mdy = dy; sy = 1; }
else { mdy = y1 - y2; sy = -1; }
x = x1; y = y1;
if (mdx >= mdy) {//如果x线的长度小于x线
l = mdx;
while (l > 0) {
if (dy > 0) { y = y1 + mdy * (x - x1) / mdx; }
else { y = y1 - mdy * (x - x1) / mdx; }
lcd7735_putpix(x, y, color);//清除当前的颜色,并重新开始
x = x + sx;
l--;
}
}
else {
l = mdy;//如果线路长度小于x
while (l > 0) {
if (dy > 0) { x = x1 + ((mdx * (y - y1)) / mdy); }
else { x = x1 + ((mdx * (y1 - y)) / mdy); }
lcd7735_putpix(x, y, color);//清除当前的颜色,并重新开始
y = y + sy;
l--;
}
}
lcd7735_putpix(x2, y2, color);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//---------------------------- 绘制矩形(未填充) ---------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_rect(char x1, char y1, char x2, char y2, unsigned int color) {
lcd7735_fillrect(x1, y1, x2, y1, color);
lcd7735_fillrect(x1, y2, x2, y2, color);
lcd7735_fillrect(x1, y1, x1, y2, color);
lcd7735_fillrect(x2, y1, x2, y2, color);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//------------------------------//字符//--------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_putchar(unsigned char x, unsigned char y, unsigned char chr, unsigned int charColor, unsigned int bkgColor)
{
unsigned char i;
unsigned char j;
LCD_CS0;
lcd7735_at(x, y, x + 12, y + 8);//规定显示区域大小
lcd7735_sendCmd(0x2C);//存储记录
spi2_16b_init();// 初始化16进制
LCD_DC1;//准备发送数据
unsigned char k;
for (i = 0; i < 7; i++)
for (k = 2; k > 0; k--) {//K=1上半个字符,2下
unsigned char chl = NewBFontLAT[((chr - 0x20) * 14 + i + 7 * (k - 1))];
chl = chl << 2 * (k - 1); // 下半个字符移到1个位置左(从下面删除一条线)
unsigned char h;
if (k == 2) h = 6; else h = 7; // у нижней половины выведем только 6 точек вместо 7只有六点而不是七点。
for (j = 0; j < h; j++) {
unsigned int color;
//HAL_Delay(100);
if (chl & 0x80) color = charColor; else color = bkgColor;//если MSBit==0 тогда оставляем цвет бэграунда,если нет тогда цвет //символа如果MS比特==0,然后我们离开的颜色
chl = chl << 1;//将处理过的位移到左
unsigned char msb = ((unsigned char)((color & 0xFF00) >> 8));
unsigned char lsb = ((unsigned char)(color & 0x00FF));
lcd7735_send16bData(color);
// lcd7735_sendData(msb);
//lcd7735_sendData(lsb);
}
}
// 从块宽度符号的垂直线向右绘制
unsigned char msb = ((unsigned char)((bkgColor & 0xFF00) >> 8));//高8位
unsigned char lsb = ((unsigned char)(bkgColor & 0x00FF)); //低8位
for (j = 0; j < 13; j++) {
lcd7735_send16bData(bkgColor);//发16位数据
// lcd7735_sendData(msb);
// lcd7735_sendData(lsb);
}
while ((SPI2->SR) & SPI_SR_BSY); // 等待 spi2
spi2_8b_init();
LCD_CS1;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//-------------------------------------//行输出字符串 //-----------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
void lcd7735_putstr(unsigned char x, unsigned char y, const unsigned char str[], unsigned int charColor, unsigned int bkgColor) {
while (*str != 0) {
lcd7735_putchar(x, y, *str, charColor, bkgColor);
y = y + 8;//Y轴间距
str++;
}
}
void lcd7735_putstr_vertical(unsigned char x, unsigned char y, const unsigned char str[], unsigned int charColor, unsigned int bkgColor) {
while (*str != 0) {
lcd7735_putchar(x, y, *str, charColor, bkgColor);
x = x + 8; // 向下移动 8 像素(竖向)
str++;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//-------------------------------------//输出32*32中文 //-----------------------------------------//
/////////////////////////////////////////////////////////////////////////////////////////////////////
//void lcd7735_putchar(unsigned char x, unsigned char y, unsigned char chr, unsigned int charColor, unsigned int bkgColor)
void showhanzi32(unsigned int x,unsigned int y,unsigned char index, unsigned int charColor,unsigned int bkgColor)
{
unsigned char i,j,k;
const unsigned char *temp=hanzi32;
temp+=index*128; // 128------》32*4*8 --》根据生成的十六进制数的多少来取
for(j=0;j<32;j++)//32行
{
for(k=0;k<4;k++)// 4个4个取--------------一列被分为4个16进制 k大小与取模大小有关
{
for(i=0;i<8;i++)//取模软件影响,每个16进制为8个二进制------------一个16进制为8位
{
if((*temp&(1<<i))!=0)//取二进制 为1 是字体 为0 是背景 (1<<i)) i每回左移一位与temp相与 如果temp第i为为1 输出为1 否则为0
{
if(i==0)
lcd7735_putpix(x+(7-i),y+j,charColor);//通用任意字体
else
lcd7735_putpix(x+7*k+8-i,y+j,charColor);//通用任意字体
}
else
{
if(i==0)
lcd7735_putpix(x+(7-i),y+j,bkgColor);
else
lcd7735_putpix(x+7*k+8-i,y+j,bkgColor);
}
}
temp++;
}
}
}
void showimage(uint16_t x,uint16_t y) //显示40*40图片
{
// uint16_t i,j,k,da;
// k=0;
// for(i=0;i<160;i++)//y
// {
// for(j=0;j<128;j++)//x
// {
// da=qqimage[k*2+1];//取颜色
// da<<=8;//取颜色
// da|=qqimage[k*2]; //取颜色
// lcd7735_putpix(x+j,y+i,da);;
// k++;
// }
// }
uint16_t w = 40, h = 40;
if (x + w > st7735_cfg.width || y + h > st7735_cfg.height) return;
uint16_t i, j, k = 0;
for (i = 0; i < h; i++) {
for (j = 0; j < w; j++) {
uint16_t da = (qqimage[k * 2 + 1] << 8) | qqimage[k * 2];
lcd7735_putpix(x + j, y + i, da);
k++;
}
}
}