我参考别人的用NDK+JNI读写I2C,编译出来的APK可以运行了,但是老读不到数据,这个I2C的地址怎么确认是多少呀? 就是slaveAddr的值应应该怎么设置?或者是有什么其它问题?

解决方案 »

  1.   

    I2C是什么?
    integer to char ?
      

  2.   

    驱动器的i2c-dev.c文件的i2cdev_ioctl函数中是有加打印的,但在JNI调用ioctl成功后也没有看到相关的打印.感觉根本没调到,代码:res = ioctl(fileHander, I2C_SLAVE, slaveAddr); 
      

  3.   

    有点进展了,已经在驱动中添加了打印信息,看到调用到了相关函数,但是还是执行失败了,明天再加一些LOG看看
      

  4.   

    要先保证ioctl的I2C_SLAVE这个case 一定执行到。
    一般通过ioctl 接口传数据给驱动时,给他的都是&slaveAddr这样的形式,内核拿到用户态地址,会做一些验证,然后再拷贝或读取。
      

  5.   

            if ((buf[0] & 0x10) == 0x01) {  
                Log.w(TAG, "------success-----");  
            } else {  
                Log.w(TAG, "----fail-------");  
            } 以上几行代码不知道是什么意思,为什么这样判断呀
      

  6.   

    我也写了个I2C的程序  不知道是不是一样的   我要启用的是I2C上的CTP、各种传感器和FM,已经全部实现了  不知道楼主要做什么?
      

  7.   

    读Codec的I2C,楼上可以提供源码?写好的?
      

  8.   

    I2C的问题也过了10天了,估计是没人给答案了,不纠结了,谁能搞定Android下的GPIO模拟串口?
    http://bbs.csdn.net/topics/390321025