打印
[i.MX]

mx6q i2c 问题请教

[复制链接]
852|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yacht06|  楼主 | 2016-4-1 15:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在调eeprom,使用的是mx6q,linux内核版本为3.0.35。eeprom使用的是24c64。我在系统驱动中找到了有at24.c文件,看代码是支持24c64的。于是在i2c_board_info mxc_i2c1_board_info 中增加了I2C_BOARD_INFO("24c64", 0x50),在menuconfig中选中了at24驱动,编译下载后,在/sys/bus/i2c/device/1-0050/中也找到了相应的eeprom二进制文件。但是在使用cat eeprom命令时,系统报错:Connection time out,不知道是什么问题。接下来我在系统启动的打印信息中找到以下内容:at24 1-0050: 8192 byte 24c64 EEPROM, writable, 1 bytes/write ,此部分是at24驱动中,probe函数中代码执行所显示,其中1byte为at24->write_max 变量,我想问下各位, 为很么是1 bytes呢。接下来我在probe函数最后增加了 at24_bin_write,at24_bin_read,然后打印write函数中buf1的内容,和read到buf2的数据,发现buf1打印结果正常,buf2为空,说明数据没有读出。接下来,我在测试文件中使用write函数想写数据进去,返回值为-1,没有写成功。所以我想问一下是各位,我整个过程有什么问题,为什么此部分工作不正常呢。

相关帖子

沙发
mini1986| | 2016-5-4 09:14 | 只看该作者
用i2cdetect命令,看看i2c上能不能detect到eeprom......这个东西资料多,应该不难......

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

15

帖子

1

粉丝