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.

[参考译文] TMS320F28388D:使用输入 Xbar 寄存器配置 GPIO

Guru**** 2601915 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1054397/tms320f28388d-configuring-gpio-using-input-xbar-registers

器件型号:TMS320F28388D

您好!

使用输入 Xbar 寄存器、可为每个 ECAP 加倍配置 GPIO 引脚。

当我使用下面的代码行时、模块工作正常  

gstrInputXbarRegs.INPUT13SELECT = u16EcapPin;(GPIO 选择作为用户输入)

当我通过配置 GPAPUD 和 GPAQSEL2寄存器使用以下行配置 ECCTL0.INPUTSEL 时、该模块不工作

strECap7Regs.ECCTL0.bit.INPUTSEL = 13;

是否需要任何其他配置? 如何使用它?

谢谢、

Subha。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="450285" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1054397/tms320f28388d-configuring-gpio-using-input-xbar-registers ]gstrInputXbarRegs[/quot]

    [引用 userid="450285" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1054397/tms320f28388d-configuring-gpio-using-input-xbar-registers ]strECap7Regs[/quot]

    您是否已将其重命名?

    另一个是 XBAR 寄存器1是 ECAP 寄存器。 这两者无关。

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

    您好!

    是的、  已重命名 gstrInputXbarRegs 和 strECap7Regs。  

    仅当我使用此行时、'gstrInputXbarRegs.INPUT13SELECT = u16EcapPin;(GPIO 选择作为用户输入)'

    模块正在工作。

    当我按照 TRM 的如下方式进行配置时、模块不工作。

    gstrGpioCtrlRegs.GPAPUD.bit.GPIO24=0;  

    gstrGpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0;  

    gstrInputXbarRegs.INPUT13SELECT = u16EcapPin;(在这里、用户 输入 u16EcapPin 为24)

    strECap7Regs.ECCTL0.bit.INPUTSEL = 13;

    原因是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="450285" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1054397/tms320f28388d-configuring-gpio-using-input-xbar-registers/3901162 #3901162"]

    gstrGpioCtrlRegs.GPAPUD.bit.GPIO24=0;  

    gstrGpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0;  

    [/报价]

    删除这两行会导致它正常工作?

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

    你好、

    gstrGpioCtrlRegs.GPAPUD.bit.GPIO24=0;  

    gstrGpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0;  

    strECap7Regs.ECCTL0.bit.INPUTSEL = 13;

    如果我移除这3条线、它会起作用。

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

    但根据 F28388D 的 TRM、这些线路对于 ECAP 输入选择是必需的。  

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

    您能不能尝试查看这三条线路中的哪一条导致了它? 尝试一次删除一个、然后尝试代码。

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

    我试过它。  

    strECap7Regs.ECCTL0.bit.INPUTSEL = 13;

    此行会导致问题。 默认情况下、ECCTL0.INPUTSEL 的值为0x7F。  但是、当我将其配置为13 (INPUTSEL13)或任何其他参数时、它会停止工作。

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

    为什么要将其设置为13? 13会将您连接到什么?

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

    表17-1  28x TRM 的输入 X-BAR 目标中、任何 ECAP 模块都可以使用任何 INPUTSELECT 寄存器。  

    对于 ECAP 模块1至7、我使用 INPUT7SELECT 至 INPUT13SELECT 寄存器。

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

    输入 XBar 目的不是决定  ECCTL0.INPUTSEL 的值。

    我认为您可能必须使用"12"作为寄存器值。

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

    感谢您的输入。  在 ECCTL0.INPUTSEL 中更改为正确的值后、模块正常工作。