fp = open ("/dev/fb0",O_RDWR)
2.获取可变参数,固定参数
ioctl(fp,FBIOGET_VSCREENINFO,&vinfo) 可变参数
ioctl(fp,FBIOGET_FSCREENINFO,&finfo) 固定参数
3.内存映射(mmap)
screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8
/*这就是把fp所指的文件中从开始到 screensize 大小的内容给映射出来,得到一个指向这块空间的指针*/
fbp =(unsigned char *) mmap (0, screensize,
PROT_READ | PROT_WRITE,
MAP_SHARED, fp,0)
4.使用映射后的地址对屏进行 *** 作。
使用上面得到的 fbp 指针来 *** 作显示缓冲区了。
把lcd看成是一块内存,使用mmap函数把它的缓冲区映射到进程空间中,然后通过映射后的地址直接 *** 作驱动中的显示缓冲区,往这块缓冲写数据,lcd就会按数值转换成相应颜色显示在LCD屏上。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)