2024年3月26日发(作者:)

#include

#include

#include

#include

#include

#include

#define WIDTH 320

#define HEIGHT 240

#define BYTE_PER_PIXEL 2

#define MAX_X WIDTH

#define MAX_Y HEIGHT

#define FB_DEVICE "/dev/fb0"

static unsigned char *fb_mem = NULL;

int init_framebuffer(void)

{

struct fb_fix_screeninfo finfo;

struct fb_var_screeninfo vinfo;

int fb;

fb = open (FB_DEVICE, O_RDWR);

if ( fb < 0)

{

printf("Can't open framebuffer device %sn",FB_DEVICE);

return -1;

}

if ( ioctl ( fb, FBIOGET_FSCREENINFO, &finfo) )

{

printf("read fixed framebuffer infomation errorn");

return -2;

}

printf("printing fixed screen infomation:n");

printf("id:%sn",);

printf("smem_start:%dn",_start);

printf("smem_len:%dn",_len);

printf("type:%dn",);

printf("type_aux:%dn",_aux);

printf("visual:%dn",);

printf("xpanstep:%dn",ep);

printf("ypanstep:%dn",ep);

printf("ywrapstep:%dn",tep);

printf("line_length:%dn",_length);

printf("mmio_start:%dn",_start);

printf("mmio_len:%dn",_len);

printf("accel:%dn",);

if ( ioctl( fb, FBIOGET_VSCREENINFO, &vinfo) )

{

printf("read variable framebuffer informationn");

return -3;

}

printf("printing variable screen informationn");

printf("xres:%dn",);

printf("yres:%dn",);

printf("xres_virtual:%dn",_virtual);

printf("yres_virtual:%dn",_virtual);

printf("xoffset:%dn",t);

printf("yoffset:%dn",t);

printf("bits_per_pixel:%dn",_per_pixel);