.c文件编码:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
int main(int argc,char **argv)
{
unsigned int x,y;
/*1.打开LCD设备 */
int fd_lcd = open("/dev/ubuntu_lcd",O_RDWR);
if(fd_lcd < 0)
{
perror("open");
return -1;
}
/*2.进行内存映射 */
unsigned int *pfb=mmap(NULL,800*480*4,PROT_READ|PROT_WRITE,MAP_SHARED,fd_lcd,0);
if(pfb==NULL)
{
perror("mmap fail");
return -1;
}
/* 3.进行屏像素点为彩色 */
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为蓝色 */
*(pfb+y*800+x)=0x0000FF;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为红色 */
*(pfb+y*700+x)=0xFF0000;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为黄色 */
*(pfb+y*600+x)=0xFFFF00;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为绿色 */
*(pfb+y*500+x)=0x008000;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为白色 */
*(pfb+y*400+x)=0xFFFFFF;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为黑色 */
*(pfb+y*300+x)=0x000000;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为浅绿色 */
*(pfb+y*200+x)=0x00FFFF;
}
}
for(y=0; y<480; y++)
{
for(x=0; x<800; x++)
{
/* 设置当前像素点为紫色 */
*(pfb+y*100+x)=0x800080;
}
}
/*4.不再使用内存映射,则释放 */
munmap(pfb,800*480*4);
/*5.关闭lcd设备 */
close(fd_lcd);
return 0;
}
终端编译:

版权声明:本文为qq_52526226原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。