问一个应该比较简单,但是自己好几天没弄明白的问题

chenmengzhong   2010-5-5 14:21 楼主
问题是这样的
我目前在调一个芯片,是通过iic进行读写的,iic驱动已经做好了,应该是6410带的
目前的问题是:之前也用过iic进行读写,比如读,以前一般都是先写一个从设备的地址,之后再是写一个设备中的寄存器地址,最后进行数据的读取。但是现在这个芯片比较奇怪,就一个从设备地址,读某个寄存器一起集成到了从设备地址上了。这就造成了麻烦,不知道该怎么处理了。不写设备寄存器的地址,或者设置成NULL,都有问题 啊

回复评论 (12)

你的从设备地址是7位还是10位的
点赞  2010-5-5 14:50
帮你顶
点赞  2010-5-5 15:03
7位的哦
点赞  2010-5-5 15:05
引用: 引用 1 楼 luixing67 的回复:
你的从设备地址是7位还是10位的

如果是十位的话,是不是还好处理些了,把后面的三位再单独写一下就ok?
点赞  2010-5-5 15:06
我们经常用的I2C其实是I2C总线,所以会有片子的I2C总线地址。感觉你这个片子可能只是读写的时序是I2C一样的时序,所以更简单的写这个片子I2C的办法,我觉得可以用两个GPIO模拟I2C来对这个片子进行读写。
点赞  2010-5-5 15:21
引用: 引用 5 楼 kacyquan 的回复:
我们经常用的I2C其实是I2C总线,所以会有片子的I2C总线地址。感觉你这个片子可能只是读写的时序是I2C一样的时序,所以更简单的写这个片子I2C的办法,我觉得可以用两个GPIO模拟I2C来对这个片子进行读写。


我估计现在也只能用这个办法了
应该比较麻烦吧
您用过模拟的方式吗?
点赞  2010-5-5 15:26
用过的,两个GPIO一个模拟时钟一个模拟Data,以前弄一个radio的驱动就这个写的。写的时候注意看芯片SPEC上I2C读写的时序图。如果楼主需要留个邮箱,我把原来模拟的那个给你做个参考。
点赞  2010-5-5 15:29
呵呵,我给你发消息了
多谢啊
点赞  2010-5-5 15:36
你把IIC里面时序跟datasheet上面一样就可以了。
I2C还是比较简单的,你可以视为一个I2C地址+后面数据就是了。不管是寄存器地址还是数据,都当做数据来处理。
点赞  2010-5-5 15:38
没看见有消息来~~~~~
点赞  2010-5-5 15:38
就是eeworld空间的发的消息啊

点赞  2010-5-5 15:42
这个应该是你用的那个芯片不是标准的iic,所以楼主不能用标准的iic驱动,可以自己用gpio口模拟一下
应该也不是太难。
点赞  2010-5-14 15:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复