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.

[参考译文] TCA6416A:输出引脚未发送所需的值

Guru**** 670830 points
Other Parts Discussed in Thread: TCA6416A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1254274/tca6416a-output-pin-is-not-sending-the-desired-value

器件型号:TCA6416A

尊敬的女士们、先生们:

目前我使用的是 i2c I/O 扩展器  TCA6416A、我要将 端口12配置为发送逻辑1的输出。

器件地址配置为0x20。 根据器件数据表、将以下命令字节设置为0x03。 出于测试原因、将以下数据字节设置为0xFF 以将所有输出设置为高电平。

 我可以通过逻辑分析仪看到数据已成功传输、但输出端口12上仍然为逻辑0。  

您能帮助我并告诉我我错了什么吗?

此致

费利克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    0xFF 是寄存器3的默认值。

    请读回所有八个寄存器值。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Ladisch 先生,

    感谢您的回答! 我已读回所有寄存器、结果与数据表相符。 寄存器值设置为相应的值。  

    输出仍未设置为1。 我附上了逻辑分析仪的快照。 通道2观察端口12输出的行为。

    你能看到我的错误吗?

    此致

    费利克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有哪些价值?

    默认情况下、所有引脚均为输入、输出寄存器中的位无效。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Felix:

    您需要首先写入配置寄存器(0x06和0x07)以将 GPIO 设置为输出或输入(默认为输入)。 之后、您可以写入输出寄存器(0x02h 和0x03h)以将输出(您在寄存器0x06和0x07中设置为输出)切换为高电平或低电平。

    您是否正确完成了上述步骤? 您显示的示波器仅为输出寄存器0x03h 提供寄存器值。 它不会显示0x07h 的寄存器值、为了使所有端口1引脚都成为输出、需要将该寄存器值设置为0x00h。  

    -鲍比

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bobby:

    感谢您的回答!

    这解决了我的问题。 我没有将相应的配置寄存器设置为0。

    再次感谢您、祝您愉快!

    此致

    费利克斯