目录
一、LCD显示的基本原理
1、认识 FrameBuffer
FrameBuffer 是帧缓冲,可以看做是一块内存,帧缓冲是一种显示驱动接口,该接口屏蔽了显示设备(如LCD)硬件层面的实现。在应用层看来,显示设备就是一块内存,操作这块内存就相当于在操作显示设备。
在Linux 系统中,显示设备也叫做 FrameBuffer 设备,LCD就是 FrameBuffer 设备,FrameBuffer 设备对应的设备文件为 /dev/fdX(X=0、1、2 ...),一般 /dev/fb0 代表LCD显示屏。应用程序读写 /dev/fbX 就相当于读写显示设备的显存(显示缓冲区)
2、理解LCD的分辨率和深度
说到显示设备或者图片,我们经常会提到 分辨率 和 像素深度 的概念
- 分辨率:一行有多少个像素点,一列有多少个像素点
- 像素深度:每个像素点要用多少bit来表示
假设LCD 的分辨率是 800*480,每个像素点用 RGB565 来表示。
| 800*480 | 每行有 800 个像素点,每列有 480 个像素点 |
| RGB565 | 每个像素点由R、G、B三种颜色表示 - R 占 5 bit - G 占 6 bit - B 占 5 bit |
前面说到,显示设备其实可以看做是显示缓冲区,显示缓冲区的大小 = 分辨率 * 像素深度
二、接口函数 ioctl
1、函数声明
ioctl 的用途会根据其传入的参数发生变化,ioctl函数声明如下:

第一个参数是文件描述符,即FrameBuf
LCD显示原理与LinuxFrameBuffer接口详解

最低0.47元/天 解锁文章
3039

被折叠的 条评论
为什么被折叠?



