主题 : 想用tiny6410采集CMOS摄像头帧数据,在设置阶段出错,请大家看看 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 31364
精华: 0
发帖: 59
金钱: 295 两
威望: 59 点
综合积分: 118 分
注册时间: 2010-10-29
最后登录: 2017-09-13
楼主  发表于: 2014-02-12 08:53

 想用tiny6410采集CMOS摄像头帧数据,在设置阶段出错,请大家看看

摄像头用的就是友善的OV9650,LINUX内核是光盘中的linux-2.6.38-20120518。
我是用MMAP的方式 通过DQBUF-->处理-->QBUF来获取和处理一帧数据。
可是在VIDIOC_QUERYBUF时出错,代码片段
struct v4l2_buffer buf;
   memset(&buf, 0, sizeof(buf));
   buf.type        = V4L2_BUF_TYPE_VIDEO_CAPTURE;
   buf.memory      = V4L2_MEMORY_MMAP;
   buf.index       = n_buffers;
   ret = ioctl(cam_fd, VIDIOC_QUERYBUF, &buf);
   if (ret < 0)    perror("VIDIOC_QUERYBUF error");
运行后出错信息:
VIDIOC_QUERYBUF error: Invalid argument