关于I2C读写问题?

shi991   2007-7-11 03:19 楼主
最近用5502的I2C控制高频头.高频头里面有个tuner部分,它只有一个寄存器需要配置.地址是11000000,如果我用I2C_write()函数对这个寄存器写入三个字节数据的话,是不是一共要写入四个字节,第一个字节为11000000,
int I2C_write (Uint16 *data, int length, int master, Uint16 slaveaddress,
                        int transfermode, int timeout);
而这个函数中的slaveaddress是不是应该是01100000????
最近在调试I2C,SCL,SDA上总没数据,不知道是不是这两个地址的问题,请高手指点?

另外,我在一个讲5509的文档中看到I2C_send()这个函数,但是在5502CSL中没找到,是不是这个函数只能用于5509?

还有谁有I2C控制的例程能否给小弟提供一份,不胜感激!

回复评论 (4)

我刚问了一个类似的问题,我是用IO模拟IIC协议做的,问题是当IO状态从输出变成输入的时候,采集回来的电平不对,总是为1V,不知道为什么,难道输入状态的吸收电流不够?
点赞  2007-7-11 03:26
TI公司的网页上有例程,把它看会了,I2C也就不难了
点赞  2007-7-11 05:28
我的那个高频头是主要是5v供电的,也有一个3.3v供电,但是我的I2C用的上拉电压是3.3v是不是有问题啊?
点赞  2007-7-11 08:07
楼上的兄弟们好,我也是在写5502的I2C程序,能否加你们的QQ,共同探讨一下相关问题,我用I2C写一个MAX7311 的I2C转GPIO的芯片,不知道是什么原因,我感觉数据老是发送不出去, 第一个数据写了以后,第二个数据就老停在I2CDXR中 一直没有进入移位寄存器发送,是不是因为 第一个发送的数据没得到ACK响应,而导致第二个数据没发送出去的缘故?

点赞  2008-1-11 03:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复