一个简单的V4L2摄像头设备采集图像框架, 开源代码:
https://github.com/an2e9ingC/V4L2_Camera(需要开发板+摄像头模组运行)
其中,之前一直困扰我的就是在ioctl(fd, VIDIOC_DQBUF, &tmp_buf)
后, 要把缓存中的数据保存到文件中时, 使用write()时, 误把缓存区的首地址错弄成了struct v4l2_buffer tmp_buf;
导致从缓存中一直读不到正确的数据.
正确的缓存应是 定义的全局变量 frame_buf
帧缓存的首地址, 长度就是通过mmap映射后的长度.