尊敬的女士们、先生们:
目前我使用的是 i2c I/O 扩展器 TCA6416A、我要将 端口12配置为发送逻辑1的输出。
器件地址配置为0x20。 根据器件数据表、将以下命令字节设置为0x03。 出于测试原因、将以下数据字节设置为0xFF 以将所有输出设置为高电平。
我可以通过逻辑分析仪看到数据已成功传输、但输出端口12上仍然为逻辑0。
您能帮助我并告诉我我错了什么吗?
此致
费利克斯
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.
尊敬的女士们、先生们:
目前我使用的是 i2c I/O 扩展器 TCA6416A、我要将 端口12配置为发送逻辑1的输出。
器件地址配置为0x20。 根据器件数据表、将以下命令字节设置为0x03。 出于测试原因、将以下数据字节设置为0xFF 以将所有输出设置为高电平。
我可以通过逻辑分析仪看到数据已成功传输、但输出端口12上仍然为逻辑0。
您能帮助我并告诉我我错了什么吗?
此致
费利克斯
Felix:
您需要首先写入配置寄存器(0x06和0x07)以将 GPIO 设置为输出或输入(默认为输入)。 之后、您可以写入输出寄存器(0x02h 和0x03h)以将输出(您在寄存器0x06和0x07中设置为输出)切换为高电平或低电平。
您是否正确完成了上述步骤? 您显示的示波器仅为输出寄存器0x03h 提供寄存器值。 它不会显示0x07h 的寄存器值、为了使所有端口1引脚都成为输出、需要将该寄存器值设置为0x00h。
-鲍比