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**** 2439560 points
Other Parts Discussed in Thread: TCA6416A, TCA6416

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1544574/tca6416a-sample-code

器件型号:TCA6416A
主题中讨论的其他器件: TCA6416

工具/软件:

您好的团队、

您能帮助提供 TCA6416A 的示例代码吗?

谢谢!

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

    您好 Zoe、

    您使用什么对 TCA6416A 进行编程? 它是 TI 处理器还是 MCU?  

    此致、

    Tyler

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

    尊敬的 Tyler:

    我使用的是 x86 结构 CPU。

    TCA6416 用于项目中的 7 段显示器、因此我想知道是否需要在显示之前先初始化 TCA6416A。

    是否有任何示例代码可供参考?

    谢谢。

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

    您好 William、

    我们将提供 EOD 响应。 谢谢!

    此致、

    Josh

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

    您好 William、

    这是否意味着您需要汇编级代码?  

    我认为像 MSPM0、Arduino、ESP32 这样的简单平台不会帮助您、也不会帮助您?  

    此致、

    Tyler

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

    尊敬的 Tyler:

    我不需要汇编代码、现在 BIOS 遵循 EFI 结构、它 主要是 C 代码。

    谢谢。

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

    您好 William、

    一些伪代码如下所示:  

    写入:  

    #define TCA6416A_ADDRESS 0x20

    void I2C_WRITE (uint8 target_address、uint8 register_address、uint8 data){

    //发送开始位

    //发送目标地址+写入位 (0)= 0x20

    //发送寄存器地址= 0x00 - 0x07(查看表 8-4 上的寄存器映射)

    //发送数据(移入寄存器)

    //发送停止位

    }

    读取:

    uint8 I2C_READ (uint8、target_address、uint8_register_address){

    uint8 read_data;

    //发送开始位

    //发送目标地址+写入位 (0)= 0x20

    //发送寄存器地址= 0x00 - 0x07(表 8-4 上的寄存器映射)

    //重复启动

    //发送目标地址+读取位 (1)= 0x21

    //READ_DATA =在前一个事务的 ACK 位之后的下一个 8 位

    返回 READ_DATA;  

    }

    下面是图 8-9 和 8-10  

    此致、

    Tyler

     

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

    尊敬的 Tyler:

    明白。

    非常感谢。

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

    您好 William、

    欢迎您! 感谢您的提问。 如果您有任何其他问题、请提交新问题!  

    此致、

    Tyler

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

    尊敬的 Tyler:

    出于与 7 段显示相同的用途、我尝试为 输出端口 0/1 发出 0x02 命令、但 LED 引脚不会被拉高。

    如果我需要点亮所有 LED (P0_R0-7 和 P1_0-7)、整个命令应该为{0x40、0x02、0xFF、0xFF}、没错吗?

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

    您好 William、

     0x40、0x02、0xFF、0xFF –设置输出端口寄存器中的位、这是指配置为输出的每个 Pxx 将驱动的逻辑。  

    必须先在端口 0 上将 Pxx 配置为输出。 默认状态 P00 - P07 =输入。 该命令将如下所示:  

    0x40、0x06、0x00、0x00(将端口 0 和端口 1 的 GPIO 方向设置为输出)。

    0x40、0x02、0xFF、0xFF(驱动端口 0 和端口 1 输出=高电平)。

    此致、

    Tyler