看了这么多天的lcd,今天打算在屏上显示图片,并分析下代码
显示红白蓝黑四种颜色
先贴代码,从学长哪里copy过来的
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <stdlib.h>
#include <sys/mman.h>
#define FB_DEVICE_NAME "/dev/fb0"
#define RED_COLOR565 0X0F100
#define GREEN_COLOR565 0X007E0
#define BLUE_COLOR565 0X0001F
#define White_COLOR565 0xFFFFF
#define BLACK_COLOR 0x0
void delay(int a)
{
int k;
for(k=0;k<a;k++);
}
typedef struct fb_dev{
int fd; /*帧缓冲设备硬件描述符 */
void *pfb; /*指向帧缓冲映射到用户空间的首地址 */
int xres; /*一帧图像的宽度 */
int yres; /*一帧图像的高度 */
int size; /*一帧图像的大小 */
int bits_per_pixel; /*每个像素的大小 */
} fb_dev_t;
int fb_open(fb_dev_t *fbd, char *fbn) //打开操作(由于帧缓冲是字符设备,应用程序需按文件打开一个帧缓冲设备。打开成功则可以对帧缓冲设备进行读、写等操作
{
struct fb_var_scre