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.

[参考译文] TMS320F28P650DK:SysConfig 1.23.1–用于运行时切换的 GPIO10 (GPIO 和 ePWM)双 PinMux 配置

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1513864/tms320f28p650dk-sysconfig-1-23-1-dual-pinmux-config-for-gpio10-gpio-and-epwm-for-runtime-switching

器件型号:TMS320F28P650DK
主题:SysConfig 中讨论的其他器件

工具/软件:

大家好:

我正在处理一个使用 F28P65x 器件和 SysConfig v1.23.1的工程。

我需要配置 GPIO10、使其既可用作常规 GPIO、也可用作 ePWM 输出(EPWM6A) 温度 。 主要思路是在执行期间使用在两个函数之间切换:

GPIO_setPinConfig(GPIO_RELAY_GPIO_PIN_CONFIG);
GPIO_setPinConfig(ePWM_RELAY_EPWMA_PIN_CONFIG);

理想情况下、我想在 SysConfig 中定义 pinmux 选项、如下所示:

#define GPIO_RELAY_GPIO_PIN_CONFIG   GPIO_10_GPIO10
#define ePWM_RELAY_EPWMA_PIN_CONFIG  GPIO_10_EPWM6_A

但是、当两者都被定义时、SysConfig 会引发资源冲突错误、因为 GPIO10在这两个函数之间共享。 我明白为什么会发生这种情况、但我希望有一种干净的方法 生成两个引脚多路复用定义 、同时仍在控制运行时通过应用哪个应用程序GPIO_setPinConfig()

我的问题:

SysConfig 中是否支持为单个引脚(本例中为 GPIO10)定义多个替代功能、以便生成的代码提供两个配置宏、但让我在运行时决定应用哪一个?

还是在 SysConfig 中定义一个函数并在代码中手动编写另一个配置的唯一权变措施?

提前感谢您提供有关处理此情景的任何指导或最佳实践!

此致、
Sebastian

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

    尊敬的 Sebastian:

    遗憾的是、SysConfig 不支持此功能、您必须在初始化时在这两种模式中选择一种、然后在运行时手动修改。

    谢谢您、

    Luke

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

    谢谢、Luke。
    如果可以选择仅生成宏而不使用初始化代码、那将非常有用。