📄 lcd_test.c
字号:
#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <fcntl.h>#include <string.h>#include "lcd.h"//中//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_zhong[32] = {0x00,0x00,0x00,0x00,0x0F,0xE0,0x0F,0xE0, 0x08,0xC0,0x08,0xC0,0x08,0xC0,0xFF,0xFE, 0xFF,0xFE,0x08,0xC0,0x08,0xC0,0x08,0xC0, 0x0F,0xE0,0x0F,0xE0,0x00,0x00,0x00,0x00};//华//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_hua[32] = {0x00,0x00,0x04,0x30,0x0C,0x30,0x3F,0xB0, 0x7F,0xF0,0x40,0x30,0x06,0x30,0x04,0x7E, 0xFF,0x7E,0x7F,0xB0,0x19,0xB0,0x11,0xB0, 0x31,0xB0,0x23,0xB0,0x03,0x30,0x00,0x00};//人//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_ren[32] = {0x00,0x00,0x00,0x04,0x00,0x06,0x00,0x0C, 0x00,0x1C,0x00,0x38,0x01,0xE0,0x7F,0x80, 0x7F,0x80,0x00,0xE0,0x00,0x70,0x00,0x18, 0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x00};//民//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_min[32] = {0x00,0x00,0x00,0x00,0x7F,0xFE,0x7F,0xFE, 0x64,0x8C,0x64,0x8C,0x64,0x98,0x66,0x80, 0x67,0xE0,0x64,0xF8,0x64,0x9C,0x64,0x86, 0x7C,0x86,0x04,0x86,0x00,0x0E,0x00,0x00};//共//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_gong[32] = {0x00,0x00,0x00,0x40,0x0C,0x47,0x0C,0x46, 0x0C,0x4C,0x7F,0xD8,0x7F,0xD8,0x0C,0x40, 0x0C,0x40,0x0C,0x40,0x7F,0xD8,0x4C,0x5C, 0x0C,0x4C,0x0C,0x46,0x0C,0x42,0x00,0x00};//和//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_he[32] = {0x00,0x00,0x26,0x30,0x26,0x70,0x27,0xC0, 0x3F,0xFE,0x7F,0xFE,0x66,0xC0,0x66,0x60, 0x00,0x00,0x1F,0xFC,0x10,0x30,0x10,0x30, 0x10,0x30,0x1F,0xF8,0x1F,0xF8,0x00,0x00};//国//超级字符/图形字模提取软件 V1.0 作者:管廷卫 电邮:guantingwei@163.com//C51 Code,逐行从上到下取模,每行左为最高位//Creat By Super Led_Dot_Matrix Char V1.0const unsigned char bmp_guo[32] = {0x00,0x00,0x00,0x00,0x7F,0xFE,0x60,0x04, 0x69,0x34,0x69,0x34,0x69,0x34,0x6F,0xF4, 0x6F,0xF4,0x69,0x74,0x69,0xF4,0x69,0x74, 0x60,0x14,0x7F,0xFE,0x7F,0xFE,0x00,0x00};unsigned char *bmps[] = {bmp_zhong,bmp_hua,bmp_ren,bmp_min,bmp_gong,bmp_he,bmp_guo};struct lcd_dev *lcd_devp;int main(int argc,char **argv){ int testdev=-1; int i; unsigned char bmp_index; unsigned char x0,layer,width; unsigned char *bmp; printf("function parameter:\n"); printf("argc:%d\n", argc); for(i=0;i<argc;i++){ printf("argv[%d]:%s\n", i, argv[i]); } testdev = open("/dev/lcddev0",O_RDWR); if (testdev == -1){ printf("can't open lcddev.\n"); exit(0); } cmd=(unsigned char)strtoul(argv[1],0,0); if (cmd == LCD_Write){ lcd_devp = (struct lcd_dev *)malloc(sizeof(struct lcd_dev)); if (lcd_devp){ printf("malloc fail.\n"); exit(0); } x0=(unsigned char)strtoul(argv[2],0,0); layer=(unsigned char)strtoul(argv[3],0,0); width=(unsigned char)strtoul(argv[4],0,0); bmp_index = (unsigned char)strtoul(argv[5],0,0); memcpy(lcd_devp->RomImage, &bmps[bmp_index], sizeof(lcd_devp->RomImage)); for (i=0; i<sizeof(lcd_devp->RomImage), i++){ if ( !(i%8) ) printf("\n"); printf("0x%x ",lcd_devp->RomImage[i]); } printf("\n"); ioctl(testdev, cmd, (unsigned long)lcd_devp); }else{ ioctl(testdev, cmd, 0); } printf("lcd_test end."); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -