导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    v853如何实现对cmos sensor实时的寄存器读写?

    V Series
    2
    2
    245
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • M
      monuannuan LV 2 最后由 编辑

      sensor型号为cis5001。目前自己写的驱动已经可以实现图像显示,但是曝光太暗,也有色偏。想要能够实时调节曝光和白平衡的寄存器。但是在用户代码中写的i2c接口无法顺利访问寄存器。请问各位大佬有没有相关的经验?拜谢!

      I 1 条回复 最后回复 回复 引用 分享 0
      • I
        iamseer LV 4 @monuannuan 最后由 编辑

        @monuannuan
        你驱动里有没有 v4l2_ctrl_ops ?
        类似

        static const struct v4l2_ctrl_ops sensor_ctrl_ops = {
        	.g_volatile_ctrl = sensor_g_ctrl,
        	.s_ctrl = sensor_s_ctrl,
        };
        

        这个sensor_s_ctrl类似:

        static int sensor_s_ctrl(struct v4l2_ctrl *ctrl)
        {
        	struct sensor_info *info =
        		container_of(ctrl->handler, struct sensor_info, handler);
        	struct v4l2_subdev *sd = &info->sd;
        
        	switch (ctrl->id) {
        	case V4L2_CID_GAIN:
        		return sensor_s_gain(sd, ctrl->val);
        	case V4L2_CID_EXPOSURE:
        		return sensor_s_exp(sd, ctrl->val);
        	case V4L2_CID_ILLUMINATORS_1:
        		return sensor_s_illum1(sd, ctrl->val);
        	case V4L2_CID_ILLUMINATORS_2:
        		return sensor_s_illum2(sd, ctrl->val);
        	}
        	return -EINVAL;
        }
        

        你在这边的函数里面操作i2c就可以。
        然后主程序类似

        bool setCameraExposure(int exposure){
            struct v4l2_control ctrl;
            memset(&ctrl, 0, sizeof(struct v4l2_control));
            ctrl.id = V4L2_CID_EXPOSURE;
            ctrl.value = exposure;
            printf("set camera exposure to %d\n", exposure);
            if (ioctl(videofd, VIDIOC_S_CTRL, &ctrl) < 0) {
                printf("set camera exposure failed\n");
                return false;
            }
        
            return true;
        }
        

        这样主程序就能调用驱动操作传感器。

        1 条回复 最后回复 回复 引用 分享 0
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策