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.
工具/软件: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