WINCE下I2C读写问题
最近在做一个WINCE下的800万MIPI接口摄像头驱动,在初始化参数写入这一步遇到了问题。用I2C写数据不成功,错误原因的打印信息如下:SLAVE(0x20) DETECTION IS FAILED & RECOVERY STAGE
IOCTL_I2C_GENERAL_WRITE ERROR: 31
SLAVE(0x20) DETECTION IS FAILED & RECOVERY STAGE
IOCTL_I2C_GENERAL_WRITE ERROR: 31
SLAVE(0x20) DETECTION IS FAILED & RECOVERY STAGE
IOCTL_I2C_GENERAL_WRITE ERROR: 31
在网上找了找相似的问题,回答之一是可能是由硬件的连接引起的,硬件部分连接不正确。于是想测试一下由I2C来对芯片内部的寄存器进行一次读写,看看是否读写正常。
但是在编写测试代码时还是遇到了问题。本人对I2C了解不是很彻底,使用的是MINI210开发板,核心处理器是S5PV210,打算从用户手册里任意找一个可读写的寄存器进行测试。但是在I2C地址这部分有些问题。
以寄存器GPD1为例,用户手册中提供的内容为GPD1CON, R/W, Address = 0xE020_00C0)。我了解到I2C地址是由7位地址加1位读写位构成的,假如我想要通过I2C对这个寄存器进行读写操作,我的地址应该写多少呢?这个0xE020_00C0地址我如何利用?或者有使用过MINI210开发板的人来指导我一下最简单的I2C的读写测试如何进行。我是参考开发板附带的BSP中的WINCE下的代码,其中有一个I2C的OPEN函数是用来打开I2C的。还有WRITEREGISTERS函数是用来写数据的,此函数有2个参数分别是地址与数据。望大神给予指点。
页:
[1]