发一个LCD的测试程序

来源:互联网 发布:手机上怎样申请淘宝号 编辑:程序博客网 时间:2024/06/05 07:40
转载地址:http://blog.csdn.net/ajigegege/article/details/11722575
  1. #include <unistd.h>  
  2. #include <stdio.h>  
  3. #include <fcntl.h>  
  4. #include <linux/fb.h>  
  5. #include <sys/mman.h>  
  6. #include <errno.h>  
  7.   
  8. int main()  
  9. {  
  10.     int fp = 0;  
  11.     struct fb_var_screeninfo   vinfo;  
  12.     struct fb_fix_screeninfo   finfo;  
  13.   
  14.     int screensize = 0;  
  15.     char *fbp = 0;  
  16.     int x = 0, y = 0;  
  17.     int location = 0;  
  18.     int bytes_per_pixel;  
  19.   
  20.     fp = open("/dev/fb0", O_RDWR);  
  21.     if(fp < 0) {  
  22.         printf("open failed\n");  
  23.     }  
  24.   
  25.     if(ioctl(fp, FBIOGET_FSCREENINFO, &finfo)) {  
  26.         perror("ioctl");  
  27.     }  
  28.   
  29.     if(ioctl(fp, FBIOGET_VSCREENINFO, &vinfo)) {  
  30.         perror("ioctl");  
  31.     }  
  32.   
  33.     bytes_per_pixel = vinfo.bits_per_pixel/8;  
  34.     screensize = vinfo.xres * vinfo.yres * bytes_per_pixel;  
  35.     printf("x = %d  y = %d   bytes_per_pixel = %d\n",  vinfo.xres,  vinfo.yres,  bytes_per_pixel);  
  36.     printf("scrrensize = %d\n",  screensize);  
  37.   
  38.     fbp = (char*) mmap(0,  screensize,  PROT_READ |PROT_WRITE,  MAP_SHARED, fp, 0);  
  39.     if(fbp < 0) {  
  40.         perror("mmap");  
  41.     }  
  42.   
  43.     for(x = 100; x<200; x++) {  
  44.         for(y=100; y<200; y++) {  
  45.             location = x * bytes_per_pixel + y * finfo.line_length;  
  46.             *(fbp + location) = 0;  
  47.             *(fbp +location + 1) = 255;  
  48.             *(fbp + location + 2) = 0;  
  49.             *(fbp + location + 3) = 0;  
  50.         }  
  51.     }  
  52.   
  53.     munmap(fbp, screensize);  
  54.     close(fp);  
  55.     return 0;  

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 赛东赛奥利司他胶囊 菠萝赛东真的130斤吗 菠萝赛东和纳豆为什么那么像 东跃赛鸽公棚 东赵村客运站 东赵村 何陋轩记 轩王的漫漫追妻记 轩王的漫漫追妻记 冰梦轩 东软集团股票吧 东辛屯 辛屯小区房价 东辛庄信鸽协会 西辛庄 辛庄镇 辛庄 西辛庄李连成 朱辛庄地铁站 间辛庄 东辛庄 东辛农场 东兰辛大学校园万豪酒店 东辛店 东辽县 东辽县15天预报 东晟康达 东晟康达轻钢别墅价格 东达蒙古王集团 湛江启达东海岸 泰安东尊华美达大酒店预订 塞尔达传说东格鲁德遗迹 东沟 东沟旅游 东丁家沟 东逸华庭 东逸湾花园 逸城浅水湾 绿地逸湾 逸景湾 翠苑逸景湾 逸翠湾