各位大神好,本人刚接触嵌入式不久,目前买了一个s3c2440的开发板学习。现在有几个问题想请教下:
我想通过i2c总线来控制一个led灯控制器(tca6507)来控制七盏灯的亮灭。相关驱动厂家已经在内核里面实现好,代码我在附件里(leds-tca6507.c/h),对应的设备树方面我尝试写了一下,在附件(tca6507.dts)另外附件还有一个硬件原理图(硬件原理图)及tca的datasheet。
我的问题是:
1、由于i2c总线已经很完善,对驱动都已经提供统一的接口,我找遍了代码都找不到该从机地址(i2c通信不是
需要通过从机地址来通信的么?)还是从机地址已经被抽象成其他了?
2、如果是通过gpio控制灯的亮灭,我可以在开发板的sys/class/leds/目录下看到这七盏灯的目录,然后对其写入
0或者1即可控制亮灭,如果是i2c控制的,那么应用层的接口在哪?也就是,我怎么控制它们的亮灭?
3、我的设备树(tca6507.dts)这样写有问题么?
关于i2c总线控制led灯控制器的,网上资料实在太少了,希望得到你们的帮助。另外我希望管理员能放行,不管讨论结果如何,如果以后我搞明白了,我会开一个主题详细的进行分析,希望也能帮到其他人。如果各位需要其他相关资料,我也可以提供。
ps:我是用两根GPIO,分别模拟SDA和SCL。它与使用i2c芯片的驱动有所不同的是传输算法的实现,GPIO模拟i2c驱动中有自己
的一套传输算法。GPIO模拟I2C是要占用CPU资源的,而用I2C芯片是不占CPU资源的。
[ 此帖被冰影残月在2016-07-05 20:45重新编辑 ]