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.

[参考译文] 编译器:TCA6418E:GPIO 输出高电平或低电平

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/956326/compiler-tca6418e-gpio-output-high-or-low

主题中讨论的其他器件:TCA6418E

工具/软件:TI C/C++编译器

您好 TI 团队  

我的项目需要控制 LED,这里是设置。 请帮助我进行审核。

项目信息:

I2C 总线:0

LEDSH0   => GPIO 0 (TCA6418E)

LED_SHL1 => GPIO 1 (TCA6418E)

PS: #/i2cset -y

我的设置在这里

LED_SHL0
=> 1.
i2cset -y 0 0x68 0x23 0x80
i2cset -y 0 0x68 0x17 0x80

=> 0
i2cset -y 0 0x68 0x23 0x80
i2cset -y 0 0x68 0x17 0x00

===========================================
LED_SHL1
=> 1.
i2cset -y 0 0x68 0x23 0x40
i2cset -y 0 0x68 0x17 0x40

=> 1.
i2cset -y 0 0x68 0x23 0x40
i2cset -y 0 0x68 0x17 0x00

是否可以帮助我检查此设置?

谢谢你

表3:LED 为输出、因此地址为0x68

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

    大家好、Tseng、

    通常,使用 LED,您可以将线路驱动为低电平,以打开它们,我看到您使用的==>0方案执行此操作。

    要关闭 LED、您可能应该改为将引脚设置为输入、而不是将输出设置为高电平。 这是因为器件的 VOH 和 LED 的 Vcc 可能不同。 如果它们相同、则无关紧要、但通常人们在 LED 上选择更高的 Vcc、并选择使用开漏配置来驱动它们(而不是像您尝试的那样推挽)。

    LED_SHL0
    => 1.
    i2cset -y 0 0x68 0x23 0x00 //这将打开 GPIO HI-Z 并关闭 LED
    i2cset -y 0 0x68 0x17 0x80


    另请注意、该器件在每次上电时都启用了内部下拉电阻器。 您可能需要禁用此功能。 (寄存器0x2C-0x2E)

    谢谢、

    -Bobby

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

    你好、Bobby
    谢谢您的邮件、但我想再次澄清我的问题。

    您好 TI 团队

    我的项目需要控制 LED High (on)和 Low (off) ,这是设置。 请帮助我进行审核。

    项目信息:

    I2C 总线:0

    设备:0x68

    LEDSH0 (我的项目的 LED 名称)    => GPIO 0 (映射到 TCA6418E)

    PS:#/i2cset -y

    我的设置如下:

    LED_SHL0  (我的项目的 LED 名称) => GPIO 0 (映射到 TCA6418E)
    =>高(开)

    i2cset -y 0 0x68 0x2C 0x80  [下拉禁用 ]
    i2cset -y 0 0x68 0x23 0x80  [输出]
    i2cset -y 0 0x68 0x17 0x80  [dateout]

    =>低(关)
    i2cset -y 0 0x68 0x23 0x00 //  [输入]  这将会关闭 GPIO 高阻态并关闭 LED

    请帮助我查看我的设置... 非常感谢

    PS:这是我第一次使用此解决方案。谢谢

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

    [引述用户="Tseng Hung"]

    你好、Bobby
    谢谢您的邮件、但我想再次澄清我的问题。

    您好 TI 团队

    我的项目需要控制 LED High (on)和 Low (off) ,这是设置。 请帮助我进行审核。

    项目信息:

    I2C 总线:0

    设备:0x68

    LEDSH0 (我的项目的 LED 名称)    => GPIO 0 (映射到 TCA6418E)

    PS:#/i2cset -y

    我的设置如下:

    LED_SHL0  (我的项目的 LED 名称) => GPIO 0 (映射到 TCA6418E)
    =>高(开)

    i2cset -y 0 0x68 0x2C 0x80  [下拉禁用 ]
    i2cset -y 0 0x68 0x23 0x80  [输出]
    i2cset -y 0 0x68 0x17 0x80  [dateout]//这会将其关闭,因为它会将输出设置为高电平,最后一个字节设置为0x00h: i2cset -y 0 0x68 0x17 0x00

    =>低(关)
    i2cset -y 0 0x68 0x23 0x00 //  [输入]  这将会关闭 GPIO 高阻态并关闭 LED

    请帮助我查看我的设置... 非常感谢

    PS:这是我第一次使用此解决方案。谢谢

    [/报价]

    如果您希望 LED 亮起、则需要修改您的=> High (on)。 我还会交换步骤2和步骤3、但如果您进行我所说的更改、从技术上讲、您所做的更改将有效。

    谢谢、

    -Bobby

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Bobby
    谢谢您的邮件  
    以下是正确的设置。。 我认为它的措辞是可以的。
    谢谢你

    LED (开)
    i2cset -y 0 0x68 0x2C 0x80  [下拉禁用]
    i2cset -y 0 0x68 0x23 0x80  [输出]
    i2cset -y 0 0x68 0x17 0x00  [dateout]

    LED (关闭)
    i2cset -y 0 0x68 0x23 0x00 // [输入]  这将会关闭 GPIO 高阻态并关闭 LED

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

    大家好、Tseng、

    这看起来是正确的。

    我唯一的次要编辑是:

    LED (开)
    i2cset -y 0 0x68 0x2C 0x80  [下拉禁用]

    //首先设置输出状态
    i2cset -y 0 0x68 0x17 0x00  [dateout]

    //现在将引脚配置为输出
    i2cset -y 0 0x68 0x23 0x80  [输出]

    即使您没有进行微小的更改、这仍然有效。

    -Bobby

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

    非常感谢