使用I2Ctools是可以操作 i2c设备的.
但是就是编译不通过.
[[email protected] app]# gcc -I/usr/include I2CTestClinet.c -o I2CTestClinet
/tmp/ccepfXuY.o: In function `I2CWriteBYTE':
I2CTestClinet.c:(.text+0x7a): undefined reference to `i2c_smbus_write_byte_data'
collect2: ld returned 1 exit status
------解决方案--------------------
这个函数是内核中定义的,只有驱动中才能使用,在驱动中的ioctl函数实现中会调用你说的这个i2c_smbus_write_byte_data函数,所以我们用户只要用ioctl就能间接调用你说的这个i2c_smbus_write_byte_data函数了。
------解决方案--------------------
内核函数要想在应用层调用,只能通过传参

------解决方案--------------------
但是实际上还是在内核里面运行的,然后返回信息给应用层,应用层直接调内核函数是不行的.