主题 : 求大神指点!! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 94217
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2013-07-11
最后登录: 2014-07-04
楼主  发表于: 2013-07-13 09:58

 求大神指点!!

这是小弟写的基于linux下的ov9650的测试代码,读ov9650采集的数据发送到帧缓冲中显示,我的开发板是mini2440;欢迎大家的指点!!谢谢了!!



#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <stdio.h>


int  main()
{
    int  fd_cam;
    int  fd_fb;
    char  *Addr;
    int  Size=0;
    int i;
    char *buf;
        if(fd_cam=open("/dev/camera" , O_RDWR)<0)
  
        {
            printf("can not  open  camera");
            exit(0);
         }    
        if(fd_fb=open("/dev/fb0" , O_RDWR)<0)
  
        {
            printf("can not  open  lcd");
            exit(0);
         }    
        struct  fb_fix_screeninfo finfo;
        struct  fb_var_screeninfo vinfo;
        if(ioctl(fd_fb, FBIOGET_FSCREENINFO,  &finfo)==-1);  
          printf("error");
       if(ioctl(fd_fb, FBIOGET_FSCREENINFO,  &vinfo)==-1);
        printf("error");
        Size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8;
        
        Addr = ( char *)mmap(NULL, Size, PROT_READ|PROT_WRITE,MAP_SHARED, fd_fb, 0);
        buf = (char *)malloc(Size);
      
    for(;;)
     {          
            read(fd_cam, buf, Size);
        
            for(i=0;i<Size;i++)
            {
                Addr = buf;    
            }

             }
      
}