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.

[参考译文] TMS320F28386S:GPIO 功能

Guru**** 2535750 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172575/tms320f28386s-gpio-functions

器件型号:TMS320F28386S

  

我熟悉 Device_initGPIO()、GPIO_setPadConfig()和 GPIO_setDirectionMode()。 但是、我今天遇到了一些新功能、我在示例中没有看到这些功能、也没有对这些功能进行很好的描述。

GPIO_setQualificationMode (MPGM_BOOT_INPUT_PIN、GPIO_QUAL_3SAMPLE)-我假设这是输入的样本数、但在多长时间内?  默认值是多少?

GPIO_setPinConfig (MPgm_BOOT_INPUT_CFG)-此处、GPIO_57_GPIO57定义为 GPIO_57_GPIO57、定义为0x00880C05U。 此函数实现了什么功能? 有必要吗?

GPIO_setMasterCore()-我想多核 MCU 需要这一点。 它是否具有默认值?

谢谢、

John

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

    尊敬的 John:

    感谢您的提问。 按顺序回答每个问题:

    GPIO_setQualificationMode:用于设置 GPyQSEL 寄存器位、如下所示:

    采样周期如下所示:

      

      

      

    GPIO_setPinConfig 执行一些操作、包括清除 GPyMUX 寄存器以避免干扰、更新 GPyGMUX 寄存器、然后再次使用最终值写入 GPyMUX 寄存器。 所有这些操作都是为了无干扰地为给定的 GPIO 选择多路复用器。 例如、您提到的那个。 例如、以下函数会将 GPIO0多路复用器设置为使用 PWM1A:

    GPIO_setPinConfig(GPIO_0_EPWM1A);               // GPIO0 = PWM1A

      

      

      

    [引用 userid="152282" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172575/tms320f28386s-gpio-functions ]GPIO_setMasterCore()-我想多核 MCU 需要这种功能。 它是否具有默认值?

    正确的是 GPIO_setMasterCore 用于选择控制 GPIO 的内核(使用 GPyCSELx 寄存器)。 默认情况下、它是这些位的复位值(大多数/所有情况下为00、即 CPU1)。 您可以看到下面的其他选项。

    请注意、您需要首先使用 CPU1配置 GPIO、然后可以选择另一个内核(在所有配置完成后)来控制实际程序中的 GPIO。

      

    此致、

    Vince