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.

[参考译文] CCS/TMS320F28379D:使用 SPI 时 TMS320F28379D 的 GPIO 功能

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/958077/ccs-tms320f28379d-gpio-function-of-tms320f28379d-when-using-spi

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

你(们)好  

我们将 SPIA 函数用作以下分配。

 -GPIO56 (SPICLKA)、GPIO58 (SPISIMOA)、GPIO59 (SPISOMIA)、GPIO61 (/SPISTEA)。

 GPIO16使用 GPIO 作为输入功能。

我们使用 GPIO16作为输入 GPIO、并使用该 GPIO 的上升沿作为 SPIA 通信的触发 器、但 SPIA 通信未启动。

但我们发现我们将 GPIO16的 GPyMUXn.GPIOz = 00b 更改为01b、因此可以进行通信。

顺便说一下、当未引用 GPIO16时、即使设置 GPyMUXn.GPIOz = 00b、SPIA 也会进行通信。

根据 TRM 中的表8-7 (GPIO 复用引脚)、 关于 GPIO16设置、如果 GPyMUXn.GPIOz 为00b、则会解释 GPyGMUXn.GPIOz、以便可以选择任何内容。

然而,出现了上述现象。

GpyGMUXn.GPIOz 中是否有正确的设置?

这是基本功能的一个重要问题、因此请告诉我们您的想法

此致

Naoki

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

    您好、Naoki、

    [引用 USER="Naoki.N"]但我们发现我们将 GPIO16的 GPyMUXn.GPIOz = 00b 更改为01b、因此可以进行通信。[/引用]

    这毫无意义。 确保程序后面的代码未更改多路复用配置。 这可能会导致混淆?

    [引用 USER="Naoki.N"]根据 TRM 中的表8-7 (GPIO 复用引脚)、 关于 GPIO16设置、如果 GPyMUXn.GPIOz 为00b、则会解释 GPyGMUXn.GPIOz、以便可以选择任何内容。[/QUERQ]

    您需要同时设置 GPyMUXn.GPIOz 和 GPyGMUXn.GPIOz、以便为任何引脚选择正确的多路复用器配置。

    [引用 user="Naoki.N"] GpyGMUXn.GPIOz 中是否有正确的设置?

    要为 GPIO 功能配置 GPIO16、您需要以下内容(我建议使用粗体):

    GPAGMUX2.GPIO16 = 00b、01b、10b 或11b

    GPAMUX2.GPIO16 = 00b

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

    仅出于完整性考虑、以下是 SPI 引脚所需的配置。

    GPIO56 (SPICLKA):GPBGMUX2.GPIO56 = 00b、GPBMUX2.GPIO56 = 01b

    GPIO58 (SPISIMOA):GPBGMUX2.GPIO58 = 11b、GPBMUX2.GPIO58 = 11b

    GPIO59 (SPISOMIA): GPBGMUX2.GPIO59 = 11b、 GPBMUX2.GPIO59 = 11b

    GPIO61 (/SPISTEA): GPBGMUX2.GPIO61 = 11b、GPBMUX2.GPIO61= 11b