首先我拿到了sensor_id应用程序的源码,我要在上面添加获取ov2685 的 sensor id的代码.

利用find . -name  get_sensor_id找到该代码编译之后生成的a.out文件,这个a.out文件也就是get_sensor_id,它的代码如下:

./project/gplus/sampleCode/rootfs/sbin/get_sensor_id(这个是find命令找到这个a.out的路径)

从这段代码看,我们需要有ov2685的驱动作为参考,知道这个sensor的I2C的地址,然后其余的步骤配置就和其它的sensor是一样的啦!

//yangyx -------> 2016.4.20
				case 6 : //ov2685 sensor
				{
					DEBUG("ov2685\n");

 					attr.slaveAddr = 0x78;  //ov2685 sensor ID
  					attr.clkRate = 0x64;    //不用改

					system("devmem 0x93007084 32 0");//scuaCsiClkCfg 不用改
					usleep(1000);

					if(IO_Write_Value(0, reset_pin, 0) != STATUS_OK) //set_sensor_reset
							perror("error set_sensor_reset\n");
					usleep(1000);

					if(IO_Write_Value(0, 12, 0) != STATUS_OK) //set_sensor_power
						perror("error set_sensor_power\n");
					usleep(10000);

					//power on
					if(IO_Write_Value(0, 12, 1) != STATUS_OK) //set_sensor_power
						perror("error set_sensor_power\n");
					usleep(10000);

					if(IO_Write_Value(0, 30, 0) != STATUS_OK) //set_sensor_standby
						perror("error set_sensor_standby\n");

					system("devmem 0x9300703c 32 0x04003004");//scuaUsbPhyCfg
					system("devmem 0x93007084 32 0");//scuaCsiClkCfg
					system("devmem 0x93007084 32 0x00010103");//scuaCsiClkCfg
					usleep(2000);
					//-------------------------------------------------

					if(IO_Write_Value(0, reset_pin, 1) != STATUS_OK) //set_sensor_reset
							perror("error set_sensor_reset\n");
					usleep(20000);

					//不用改
  					ret = ioctl(fd, I2C_BUS_ATTR_SET, &attr);
  					if(ret < 0)
					{
							perror("ioctl set i2c arg\n");
						continue;
  					}
					//-------------------------------------------

					sensor_info.write_data[0] = 0x30;
					sensor_info.write_data[1] = 0x0a;
					sensor_info.write_size = 2;
					sensor_info.read_size = 2;
					ret = ioctl(fd, I2C_BUS_WRITE_READ, &sensor_info);
  					if(ret < 0)
					{
						perror("ioctl set i2c arg\n");
						continue;
  					}
					readdevice = (sensor_info.read_data[0] << 8) + sensor_info.read_data[1];

					if( readdevice == 0x2656)
					{
						DEBUG("I2C_BUS_WRITE_READ data = 0x%02x\n", readdevice);
						i = MAX_DEVICE + 1;
						deviceno = 2;
					}
					else
					{
						printf("Error I2C_BUS_WRITE_READ data = 0x%02x\n", readdevice);
					}

					break;

				}

关于GPL329A中获取摄像头sensor id的问题的更多相关文章

  1. java代码中获取进程process id(转)

    另一方面,线程ID=进程ID+内部线程对象ID并不成立,    参考: blog.csdn.net/heyetina/article/details/6633901     如何在java代码中获取进 ...

  2. jquery中获取iframe的id的方法:

    jquery中获取iframe的id的方法: var frameId = window.frameElement && window.frameElement.id || ''; al ...

  3. 高并发分布式环境中获取全局唯一ID[分布式数据库全局唯一主键生成]

    需求说明 在过去单机系统中,生成唯一ID比较简单,可以使用MySQL的自增主键或者Oracle中的sequence, 在现在的大型高并发分布式系统中,以上策略就会有问题了,因为不同的数据库会部署到不同 ...

  4. Android中获取资源的id和url方法总结

    一,获取android工程里面的各种资源的id; 1.1 string型 比如下面: << string name=”OK”>> 客户端请求成功 << / stri ...

  5. 网络编程中获取域名和id的方法

    package com.lanqiao.java.test; import java.net.InetAddress;import java.net.UnknownHostException; pub ...

  6. 在当前iframe中, 获取Iframe的id

    window.frameElement   返回嵌入当前window对象的元素(比如 <iframe> 或者 <object>),如果当前window对象已经是顶层窗口,则返回 ...

  7. RK3288获取摄像头的Sensor ID【原创】

    平台信息:内核:linux3.0.68 系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 说明:通过I2C总 ...

  8. java 从spring容器中获取注入的bean对象

      java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在 ...

  9. 摄像头ov2685中关于sensor id 设置的相关的寄存器地址

    OV2685 : CHIP_ID address : 0x300A    default : 0x26 address : 0x300B    default : 0x85 address : 0x3 ...

随机推荐

  1. SQL基本函数

    字符型函数 函数名称 描述 LOWER 将特定的字符串转化为小写,只影响字母字符串. UPPER 将整个字符串转换成大写,只影响字母字符串. INITCAP 将字符串中每一个单词的第一个字母转换为大写 ...

  2. PyCharm 开发Django ,错误汇总

    近期略微接触了一下Django.在学习的过程中可谓是坎坎坷坷,遇到了很多的问题. 下面就来谈一谈我对Django的一点点的见解. Django项目的创建 使用PyCharm来开发Django项目是非常 ...

  3. Hadoop:hadoop fs、hadoop dfs与hdfs dfs命令的区别

    http://blog.csdn.net/pipisorry/article/details/51340838 'Hadoop DFS'和'Hadoop FS'的区别 While exploring ...

  4. Android布局性能优化—从源码角度看ViewStub延迟加载技术

    在项目中,难免会遇到这种需求,在程序运行时需要动态根据条件来决定显示哪个View或某个布局,最通常的想法就是把需要动态显示的View都先写在布局中,然后把它们的可见性设为View.GONE,最后在代码 ...

  5. (NO.00004)iOS实现打砖块游戏(十一):"一闪一闪亮晶晶,我们都是小星星"

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在一个基本的游戏逻辑已经搭建好了,但是感觉还是缺点什么呢? 蠢 ...

  6. Java-IO之BufferedOutputStream(缓冲输出流)

    BufferedOutputStream是缓冲输出流,继承于FilterOutputStream,作用是为另外一个输出流提供换从功能. 主要函数列表: BufferedOutputStream(Out ...

  7. 如何在Cocos2D 1.0 中掩饰一个精灵(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 让我们开始吧 打开Xcode,从New Project中选择co ...

  8. Sprite添加阴影摇摆动画(Unity3D开发之九)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=575 今天看到一个很简单的摇摆动 ...

  9. UITableView大总结(上)

    1.UITableView继承UIScrollView. 2.实例一城市列表思路: 步骤一:创建UITableView.UITableView样式为组 步骤二:设置UITableView的数据源方法. ...

  10. GDAL中MEM格式的简单使用示例

    GDAL库中提供了一种内存文件格式--MEM.如何使用MEM文件格式,主要有两种,一种是通过别的文件使用CreateCopy方法来创建一个MEM:另外一种是图像数据都已经存储在内存中了,然后使用内存数 ...