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.

[参考译文] TCA8418:TCA8418

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1259153/tca8418-tca8418

器件型号:TCA8418

您好  :

如何配置初始化寄存器、以便所有16个端口都配置为 GPIO 输出模式并且输出为高电平

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

    只有16个引脚、而是18个引脚。

    通过将 KP_GPIOx 寄存器中的位清零(这是默认设置)将引脚配置为 GPIO、在 GPIO_DIRx 寄存器中将其设置为输出、并通过 GPIO_DAT_OUTx 寄存器将输出设置为高电平。 (为了防止出现低电平脉冲、请在 GPIO_DIRx 之前设置 GPIO_DAT_OUTx。)

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

    读取 GPIO 状态 REG_GPIO_DAT_STAT1 REG_GPIO_DAT_STAT2 REG_GPIO_DAT_STAT3代码如何转换为状态值0或1

    静态 int TCA8418_GPIO_get (struct gpiochip *gpiochip、无符号 int 偏移)
    {
    结构 TCA8418_KEYPAD *键盘_DATA
    = container_of (gpiochip、结构 TCA8418_keypad、GC);

    int byte_offset =偏移/8;
    U8值= 0;

    TCA8418_READ_BYTE (KEYPACK_DATA、
    REG_GPIO_DAT_STAT1+BYTE_OFFSET、
    值(&V);

    返回(int)值<<(byte_offset*8);

    我们目前正在使用这个、但没有获得正确的状态。

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

    U8 bit_offset =偏移% 8;
    返回(value >> bit_offset)和1;

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

    尊敬的 Coco J:

    请告诉我、Clemens 的编码变化是否解决了您的问题。  

    此致、

    泰勒

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

    您好

     TI:

    如何转换此值

    现在、第二个引脚在写入值变为0x4002后启动

    正常值应为0x02

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

    您可以写入(...)&0xff 来提取字节、但这应该不是必需的。