TI中文支持网
TI专业的中文技术问题搜集分享网站

用轮询的方式,怎样操作28069的I2C

应用:28069 读写数据到CAT1025。28069都是做主机,

我想用查询的方式,操作I2C,不用中断!!,不用FIFO!! 

按I2C说明,随机读取应该是如下步骤

(1)发送一个START condition,->确认START condition已经发送 。下一步(我怎样确认START condition已经发送?是通过STT吗?)

(2)通过I2CDXR 发送 从机设备地址,->确认从机设备地址已经发送,确认从机返回ACK 。下一步 (这两次确认,我应该查询哪个标志位)

(3)通过I2CDXR 发送 要读取的字节地址,->确认字节地址已经发送,确认从机返回ACK 。下一步 (这两次确认,我应该查询哪个标志位)

(4)再发送一次START condition 。确认START condition已经发送 。下一步(我怎样确认START condition已经发送?是通过STT吗?)

(5))通过I2CDXR 发送 从机设备地址,->确认从机设备地址已经发送,确认从机返回ACK 。下一步 (这两次确认,我应该查询哪个标志位)

(6) 将28069 从发送状态,转为 接收状态(这一步,只要TRX=0 吗?要不要通过IRS 复位 I2C)

谢谢回复!

Jeanne Yi:

如果不用中断,建议用软件模拟I2C的操作时序,直接操作作为SCL和SDA的GPIO口,不用I2CDXR 等内部寄存器。

应用:28069 读写数据到CAT1025。28069都是做主机,

我想用查询的方式,操作I2C,不用中断!!,不用FIFO!! 

按I2C说明,随机读取应该是如下步骤

(1)发送一个START condition,->确认START condition已经发送 。下一步(我怎样确认START condition已经发送?是通过STT吗?)

(2)通过I2CDXR 发送 从机设备地址,->确认从机设备地址已经发送,确认从机返回ACK 。下一步 (这两次确认,我应该查询哪个标志位)

(3)通过I2CDXR 发送 要读取的字节地址,->确认字节地址已经发送,确认从机返回ACK 。下一步 (这两次确认,我应该查询哪个标志位)

(4)再发送一次START condition 。确认START condition已经发送 。下一步(我怎样确认START condition已经发送?是通过STT吗?)

(5))通过I2CDXR 发送 从机设备地址,->确认从机设备地址已经发送,确认从机返回ACK 。下一步 (这两次确认,我应该查询哪个标志位)

(6) 将28069 从发送状态,转为 接收状态(这一步,只要TRX=0 吗?要不要通过IRS 复位 I2C)

谢谢回复!

jason chen1:

回复 Jeanne Yi:

同问,不过我用的是FIFO模式

既然有I2C硬件,我觉得还是用硬件比软件模拟要好很多,至少效率要高出不少

赞(0)
未经允许不得转载:TI中文支持网 » 用轮询的方式,怎样操作28069的I2C
分享到: 更多 (0)