v4l2函数获取曝光值,为什么不行
-
struct v4l2_control ctrl;
//得到曝光模式
ctrl.id =V4L2_CID_EXPOSURE_AUTO;
if (ioctl(m_fd, VIDIOC_G_CTRL, &ctrl) == -1)
{
std::cout<<"get ExposureTime failed"<<std::endl;
}
返回值为-1 -
@lin 你好,现在我们驱动没有实现这个接口,因为我们用了direct register access的模式。请参考不同型号相机对应的脚本进行直接的寄存器读写。
-
@veye_xumm 通过i2c直接读寄存器可以读到曝光值,但是无法写入是为什么


-
@lin 请问一下你直接用我们提供的脚本是否可以正常读写?
-
@veye_xumm 我换了0xC10就可以写了,请问一下,更改相机的帧率为什么media-ctl拓扑图中没变化,

-
@lin said in v4l2函数获取曝光值,为什么不行:
我换了0xC10就可以写了,请问一下,更改相机的帧率为什么media-ctl拓扑图中没变化,
分辨率和帧率你最好用media-ctl去改。嵌入式主板系统启动的时候会询问相机,后面只有media-ctl改动的时候才改驱动中的配置,并下发相机。
你用mv_mipi_i2c.sh直接改了相机寄存器,嵌入式主板中的驱动部分并不会获得通知。 -
@veye_xumm media-ctl的设置功能能不能通过函数实现?有参考代码吗?
-
@lin 这个我没有,建议你直接代码中调用media-ctl就行。
-
@veye_xumm 如果只修改帧率,这个语句怎么改写media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam 7-003b":0[fmt:Y8_1X8/1456x1088@1/60 field:none]'
-
@lin
1/60表示的就是60fps -
@veye_xumm media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam 7-003b":0[1/60 field:none]'这样吗?还是类型参数和大小都要写上才行?
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login