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

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

器件型号:TCA8418

您好

如果要读取 GPIO 状态、如何在 GPIO 模式下配置这三个寄存器

0x29 0x30 0x2B

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

    您只需针对机械开关进行去抖。 据我所见、去抖仅影响中断、而不影响读取引脚本身。

    (不存在寄存器0x30;第8.6.2.15节中的表应显示0x2A。)

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

    尊敬的 Coco J:

    如果您希望向去抖寄存器写入数据、则需要遵循图24中列出的数据格式、包括正确的器件从地址、寄存器地址(0x29、0x30、0x2B)以及要放入寄存器的数据。  

    这些寄存器的配置通过引脚23和22上的 I2C 总线完成。  

    仅供参考、

    位值为0时、会启用该行/列引脚的去抖功能、这是默认值。  

    位值为1禁用去抖。

    此致、

    泰勒

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

    您好!:

    设置模式、如何修改代码、我们现在发送数据、仅在一种情况下电压都很高、而在另一种情况下电压很低

    静态空 TCA8418_GPIO_set (struct GPIO_chip *gpiochip、unsigned int offset、
             Int 值)
    {
      结构 TCA8418_KEYPAD *键盘_DATA
        = container_of (gpiochip、结构 TCA8418_keypad、GC);

      int byte_offset =偏移/8; //2

      互斥锁(&keepad_data->lock);
      /*if (值){
        keyboard_data->GPIO_out |=(值<<偏移);
      其他(else)
      keyboard_data->GPIO_out &=~(值<<偏移);
      }*/
      keyboard_data->GPIO_out &=~(1<<偏移);
      keyboard_data->GPIO_out |=(值<<偏移);

      TCA8418_WRITE_BYTE (keepad_data、
            REG_GPIO_DAT_OUT1+BYTE_OFFSET、
            keypad_data->GPIO_out>>(byte_offset*8 );

      互斥锁(&keepad_data->lock);

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

    这与上一个问题无关。

    代码看起来是正确的。 您调用该函数的偏移/值值是什么、期望的效果是什么、以及实际发生了什么?

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

    尊敬的 Coco J:

    您是否具有与代码中每个变量相关的值?

    此致、

    泰勒