lcd显示屏800*480所学,如有错误或者有更好的方法不妨留言我,谢谢
#include <stdio.h>
#include <sys/stat.h>
#include <errno.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdint.h>
#include<string.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int fd = open("/dev/fb0",O_RDWR);
if(fd == -1)
{
perror("打开失败");
exit(0);
}
char *p = mmap(NULL,800*480*4,PROT_READ |PROT_WRITE,MAP_SHARED,fd,0);
uint32_t color[] = {0xFF0000,0x00FF00,0x0000FF,0x009900,0xFFFFFF,0x660000,0x9900cc,0xFFFF00};
for(int a = 0;;a++)
{
for(int i=0;i<240;i++)
{
long offset = 800*4*i;
for(int j=0;j<200;j++)
{
memcpy(p+4*j+offset+200*4*0,&color[(a)%8+0],4);
memcpy(p+4*j+offset+200*1*4,&color[(a)%8+1],4);
memcpy(p+4*j+offset+200*2*4,&color[(a)%8+2],4);
memcpy(p+4*j+offset+200*3*4,&color[(a)%8+3],4);
memcpy(p+4*j+offset+200*0*4+800*240*4,&color[(a)%8+7],4);
memcpy(p+4*j+offset+200*1*4+800*240*4,&color[(a)%8+6],4);
memcpy(p+4*j+offset+200*2*4+800*240*4,&color[(a)%8+5],4);
memcpy(p+4*j+offset+200*3*4+800*240*4,&color[(a)%8+4],4);
}
}
sleep(1);
}
munmap(p,800*240*4);
close(fd);
return 0;
}