📄 main.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"#include "ap_font.h"//struct lcd_dev *lcd_devp;#define get_font_size(x,y) ((x)*(y)/8)int testdev=-1;int main(int argc,char **argv){ int i; unsigned ret; unsigned char test_type; const struct ap_font_desc *ap_font; unsigned char string1[] = {0xce,0xd2,0xba,0xcd,0xc4,0xe3}; //wo he ni -- len = 3 unsigned char string2[] = {0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1}; //ni hao, bei jing! len =6 unsigned char string3[] = {0xb1,0xb1,0xbe,0xa9,0xa3,0xa1}; unsigned char string4[] = { 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1}; //18 word unsigned char string5[] = { 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1, 0xc4,0xe3,0xba,0xc3,0xa3,0xac,0xb1,0xb1,0xbe,0xa9,0xa3,0xa1}; //36 word unsigned char x0,y0,len; //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); } ap_font = ap_find_font("GB2312_16x16"); if (NULL == ap_font) { printf("no such font.\n"); } //init api frame buffer and lcd_dev lcd_api_init(ap_font,0); //lcd_full_scr(testdev); test_type=(unsigned char)strtoul(argv[1],0,0); switch( test_type){ case 0 : if (ioctl(testdev, LCD_RESET, (unsigned long)0)){ printf("call ioctl error.\n"); } break; case 30: //clear screen /*if (ioctl(testdev, LCD_CLEAR, (unsigned long)0)){ printf("call ioctl error.\n"); }*/ lcd_clear_scr(testdev); break; case 31://screen full /*if (ioctl(testdev, LCD_FULL, (unsigned long)0)){ printf("call ioctl error.\n"); }*/ lcd_full_scr(testdev); break; case 32: break; case 40: y0=(unsigned char)strtoul(argv[2],0,0); x0=(unsigned char)strtoul(argv[3],0,0); len=(unsigned char)strtoul(argv[4],0,0); ret = lcd_write_chars(testdev, y0, x0, string1, len); break; case 41: y0=(unsigned char)strtoul(argv[2],0,0); x0=(unsigned char)strtoul(argv[3],0,0); len=(unsigned char)strtoul(argv[4],0,0); ret = lcd_write_chars(testdev, y0, x0, string2, len); break; case 42: y0=(unsigned char)strtoul(argv[2],0,0); x0=(unsigned char)strtoul(argv[3],0,0); len=(unsigned char)strtoul(argv[4],0,0); ret = lcd_write_chars(testdev, y0, x0, string3, len); break; case 50: y0=(unsigned char)strtoul(argv[2],0,0); x0=(unsigned char)strtoul(argv[3],0,0); len=(unsigned char)strtoul(argv[4],0,0); lcd_full_scr(testdev); ret = lcd_write_chars(testdev, y0, x0, string4, len); break; case 51: y0=(unsigned char)strtoul(argv[2],0,0); x0=(unsigned char)strtoul(argv[3],0,0); len=(unsigned char)strtoul(argv[4],0,0); lcd_full_scr(testdev); ret = lcd_write_chars(testdev, y0, x0, string5, len); break; default: break; } lcd_api_close(); close(testdev); //printf("lcd_test end.\n"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -