📄 lcd-test.c
字号:
#include <fcntl.h>
#include <sys/mman.h>
#include <linux/fb.h>
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
//int c;
//FILE *in;*out;
int fd,fbsize,x,y,i,j;
int c,d,e,f;
unsigned char *fbmem;
//unsigned char buf[][];
struct fb_var_screeninfo vinfo;
fd = open("/dev/fb0",O_RDWR);
if (fd < 0){
perror("open (dev/fb0)");
return 1;
}
if (ioctl(fd,FBIOGET_VSCREENINFO,&vinfo)){
perror("ioctl(FBIOGET_VSCREENINFO)");
return 1;
}
fbsize = vinfo.xres*vinfo.yres*(vinfo.bits_per_pixel/8);
x = (vinfo.xres/2)*(vinfo.bits_per_pixel/8);
y = fbsize/x;
fbmem = (char *)mmap(0,fbsize,PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
if (fbmem == MAP_FAILED) {
perror("mmap()");
return 1;
}
c=0xf800;d=0x07e0;e=0x001f;f=0x0704;
for(;;)
{for (i = 0;i<y/2 ;i+=2) memset(fbmem+x*i,c,x);
for (i = 1;i<y/2 ;i+=2) memset(fbmem+x*i,d,x);
for (i = y/2;i<y ;i+=2) memset(fbmem+x*i,e,x);
for (i = y/2+1;i<y ;i+=2) memset(fbmem+x*i,f,x);
c=~c;d=~d;e=~e;f=~f;
sleep(1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -