您好!
IAM 尝试通过与2个 ADS7924从站进行通信来实现 I2C 主设备代码。
我使用以下的写入和读取方法。
为了进行写入、我使用从器件地址(1001001)为1 ADS7924发送以下数据
以唤醒器件
0x92 0x00 0x80
将 INT 配置为 BUSY 引脚以指示要 读取的数据就绪状态
0x92 0x12 0xFC
用于将器件设置为自动扫描休眠模式
0x92 0x00 0xFC
为了进行写入、我使用从器件地址(1001000)发送2个 ADS7924的以下数据
以唤醒器件
0x90 0x00 0x80
将 INT 配置为 BUSY 引脚以指示要 读取的数据就绪状态
0x90 0x12 0xFC
用于将器件设置为自动扫描休眠模式
0x90 0x00 0xFC
使用 I2C 总线将此数据传送到两个 ADS7924后、当通道处于睡眠模式时、我尝试读取通道数据。
为了进行读取、我使用从器件地址(1001001)发送1个 ADS7924的以下数据
当 INT 进入高-低状态时、我将 INT 输入为主器件、这意味着器件处于睡眠模式的时间为10.02ms
当 INT 为低电平时、我开始发送以下数据
0x92 0x82
(我发送增量地址寄存器)
0x93 -------------- ------
再次从1 ADS7924读取数据后、我会发送2 ADS7924的读取请求
0x90 0x82
(我发送增量地址寄存器)
0x91 -------------- ------
这就是我尝试读取 ADC7924相对于多从器件的数据的方式。 如果我与 ADS7924的交易是对的还是错的,请更正我。
SCL 时钟 iAM 以100kHz 的频率发送。(标准模式)