您好!
我使用 TCA9535 (I/O 扩展器)接口与 LPC55S16微控制器。 我们使用 I2C 通信与 I/O 扩展器进行通信。 使用给定器件地址、寄存器地址设置 I2C、16位数据通过 TCA9535。但 I/O 扩展器无法使用给定配置进行响应。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 Vignesh:
使用给定的器件地址、寄存器地址和16位数据通过 TCA9535设置 I2C。但 I/O 扩展器无法使用给定的配置进行响应。
在上述陈述中、IO 扩展器无法响应给定的配置是什么意思?
您希望从 TCA9535获得什么响应?
正如 Clemens 提到的、该器件已正确确认。 您发送的目标地址后跟寄存器地址0x03 (输出端口1)、后跟0xFF、然后是由 o 范围切断的另一字节数据。 是否通过先写入输出端口1、然后写入输出端口0来利用自动递增功能? 您期望输出数据是什么?
此致、
泰勒
尊敬的 Vignesh:
没有自动递增功能
TCA9535支持自动递增、这意味着如果您读取输入端口寄存器1、下一个端口读取将是输入端口寄存器2。
是否需要在 TCA9535中使用 INT PIN?
INT 引脚是外部输出、MCU 可以使用该输出来判断 TCA9535上的输入端口是否已更改状态。 然后、此中断可由 MCU 提供服务、以读取导致变化的输入端口寄存器、从而清除中断。
正如 Clemens 提到的、需要对配置端口进行配置、以便将 p 端口设置为输出。 您似乎已经使该部件正常工作。
为了正确写入任一输出端口寄存器、您必须遵循数据表图7-7中的示例。
这需要发送一个正确的 I2C 从器件地址、后跟一个写入位。 接下来是命令字节(对于输出端口寄存器为0x02或0x03)。 然后将数据提供给指定端口、该端口应将 p 端口输出设置为高或低逻辑。
此处的代码或示波器捕获将会有所帮助、以确保您与 TCA9535正确连接。
此致、
泰勒