fb_var_screeninfo 和fb_fix_screeninfo

来源:互联网 发布:淘宝肖像权投诉 编辑:程序博客网 时间:2024/06/05 07:53

struct fb_var_screeninfo {  //struct fb_info的成员(可变参数),其记录用户可修改的显示控制器的参数,包括分    //辨率和每个像素点的比特数,其成员需要在驱动程序中初始化和设置               /********可见解析度(实际屏幕)********/             __u32 xres;/* visible resolution*//*定义屏幕一行有多少个像素点 */__u32 yres;                                /*定义屏幕一列由多少个像素点 *//********虚拟解析度(虚拟屏幕)********/__u32 xres_virtual;/* virtual resolution*/ /*虚拟屏幕一行有多少个像素点 */__u32 yres_virtual;                                 /*虚拟屏幕一列由多少个像素点*/__u32 xoffset;/* offset from virtual to visible */ /*虚拟到可见(实际)之间的行方向偏移 */__u32 yoffset;/* resolution*/                           /*虚拟到可见(实际)之间的列方向偏移*/ __u32 bits_per_pixel; /* guess what */                           /*每像素位数(多少BPP),单位为字节 */__u32 grayscale; /* != 0 Graylevels instead of colors */  /*非0时指灰度*/ /********fb缓存的RGB位域**********/struct fb_bitfield red;/* bitfield in fb mem if true color, */ /* fb缓存的红色位域*/struct fb_bitfield green;/* else only length is significant *//* fb缓存的绿色位域*/struct fb_bitfield blue;                                                    /* fb缓存的蓝色位域*/struct fb_bitfield transp;/* transparency*/                 /*透明度 =0 */ __u32 nonstd;/* != 0 Non standard pixel format *//*非标准像素格式时应该为非0值 (标志像素格式时 nonstd=0) */ __u32 activate;/* see FB_ACTIVATE_**/   /*查看宏FB_ACTIVATE_NOW */ __u32 height;/* height of picture in mm */ /* 高度*/__u32 width;/* width of picture in mm*/     /* 宽度 */ __u32 accel_flags;/* (OBSOLETE) see fb_info.flags */ /*查看fb_info.flags */    /************这参数必须通过查看LCD数据手册得到**************/    /* Timing: All values in pixclocks, except pixclock (of course) */__u32 pixclock; /* pixel clock in ps (pico seconds) */ /*像素时钟(皮秒),pixclock=1/Dclk=... *//* 行切换,从同步到绘图之间的延迟即HFPD(有效数据之后无效的像素的个数) ,对应于LCD数据手册的Hsyn的front-porch*/__u32 left_margin; /* time from sync to picture */  /*行切换,从绘图到同步之间的延迟即HBPD(Hsyn脉冲下降沿之后的无效像素的个数) ,对应于LCD数据手册的Hsyn的back-porch*/   __u32 right_margin; /* time from picture to sync */  /*帧切换,从同步到绘图之间的延迟即VFPD(有效数据之后还要经历的无效行数(之后是下一帧数据)) ,对应于LCD数据手册的Vsyn的front-porch*/  __u32 upper_margin; /* time from sync to picture */   /*帧切换,从绘图到同步之间的延迟即VBPD(Vsyn脉冲下降沿之后还要经历的无效行数) ,对应于LCD数据手册的Vsyn的back-porch */__u32 lower_margin;  /*水平同步的长度即HSPW(Hsyn信号的脉冲宽度),对应于LCD数据手册的Hsyn的pulse Width */  __u32 hsync_len;  /* length of horizontal sync*//*垂直同步的长度即VSPW(Vsyn信号的脉冲宽度),对应于LCD数据手册的Vsyn的pulse Width */__u32 vsync_len;  /* length of vertical sync*/    __u32 sync;   /* see FB_SYNC_**/            /* 查看宏FB_SYNC_*/__u32 vmode;  /* see FB_VMODE_**/         /*  查看宏FB_VMODE_ */__u32 rotate;  /* angle we rotate counter clockwise */ /*顺时钟旋转的角度 */__u32 reserved[5]; /* Reserved for future compatibility */  /* */ };  struct fb_fix_screeninfo {  // struct fb_info的成员(固定参数),其记录用户不能修改的显示控制器的参数,如屏幕缓冲区物理地址,//长度,当对帧缓冲设备进行映射操作时,就是从此结构中取得缓冲区物理地址,其成员需要在驱动程序中初始化和设置                                                      char id[16]; /* identification string eg "TT Builtin" */           /*字符串形式的标识符  */  /* fb缓冲内存的开始地址(物理地址),它一般是作为dma_alloc_writecombine的参数,该函数会将物理地址存放在该变量中*/  unsigned long smem_start; /* Start of frame buffer mem physical address) */                            __u32 smem_len; /* Length of frame buffer mem */            /* fb缓冲的长度,等于max_xres *max_yres*max_bpp/8  */  __u32 type;  /* see FB_TYPE_**/                               /*  查看宏 FB_TYPE_    FB_TYPE_PACKED_PIXELS=0  */  __u32 type_aux; /* Interleave for interleaved Planes*/      /* 分界,=0 */  __u32 visual;  /* see FB_VISUAL_**/                           /* 查看宏FB_VISUAL_,用于记录屏幕使用的色彩模式,一般是FB_VISUAL_TRUECOLOR(真彩色) */  __u16 xpanstep; /* zero if no hardware panning*/            /* 如果没有硬件 panning,=0 */  __u16 ypanstep; /* zero if no hardware panning*/            /* 如果没有硬件 panning,=0 */  __u16 ywrapstep;/* zero if no hardware ywrap */             /* 如果没有硬件 panning,=0 */  __u32 line_length;/* length of a line in bytes */                /* 一行的字节数 */  unsigned long mmio_start; /* Start of Memory Mapped I/O*/  /* 内存映射的I/O的开始位置 */      /* (physical address) */  __u32 mmio_len; /* Length of Memory Mapped I/O  */            /* 内存映射的I/O的长度 */  __u32 accel; /* Indicate to driver which */                           /* = FB_ACCEL_NONE */      /*  specific chip/card we have */  __u16 reserved[3];/* Reserved for future compatibility */       /*  */ }; 

原创粉丝点击