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.

[参考译文] TMS570LS1224:如何将 SPI4引脚用作 GPIO?

Guru**** 2478765 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/692361/tms570ls1224-how-to-use-spi4-pins-as-gpio

器件型号:TMS570LS1224
主题中讨论的其他器件:HALCOGEN

尊敬的所有人:

用于解决此问题的硬件是 TI Launchpad XL2-TMS57012 144引脚 PGE 版本。
以下代码用于在设置为 GPIO 时测试 SPI4ncs_0的切换。 来自线程"如何将 HET 引脚作为 GPIO?"的代码参考。

虽然 SPI4ncs_0设置为 SPI4ncs_0时起作用、但 SPI4ncs_0引脚的信号输出没有切换。

1)如何将 SPI4端口设置为 GPIO? 当 SPI4ncs_0在 Halcogen SPI4端口块设置中设置为 GIO 时、为引脚24 SPI4nCS_0生成的 pinmux.c 设置为 HET1_03。
"pinMuxReg ->PINMMR4 = PINMUX_PIN_22_GIOA_7 | PINMUX_PIN_23_HET1_01 | PINMUX_PIN_24_HET1_03;"

网址为 pinmux.h
#define PINMUX_PIN_24_HET1_03 ((UINT32)((UINT32) 0x1U << PINMUX_PIN_24_SHIFT)
#define PINMUX_PIN_24_SPI4NCS_0 ((UINT32)((UINT32) 0x2U << PINMUX_PIN_24_SHIFT)
#define PINMUX_PIN_24_HET2_10 ((UINT32)((UINT32) 0x10U << PINMUX_PIN_24_SHIFT)
#define PINMUX_PIN_24_EQEP2B ((UINT32)((UINT32) 0x20U << PINMUX_PIN_24_SHIFT)

SPI4ncs_0引脚的以下哪些#define 端口设置被视为 TI 数据表表表4-11中提到的 GPIO 模式?


2) MibSPI1和 SPI4端口用作 GPIO 之间是否有差异?
因为在 Halcogen 中选择 GIO 时、引脚105的 pinmux.c 将设置为 PINMUX_PIN_105_MIBSPI1NCS_0。

void SPI_GPIO_toggle ()

spiREG4->GCR0 = 0U;
spiREG4->GCR0 = 1U;

gioSetDirection (spiPORT4、(<SPI_PIN_CS0));
gioSetBit (spiPORT4、SPI_PIN_CS0、1);

while (1)

//spiPORT4->DSET= 0x01;
gioSetBit (spiPORT4、SPI_PIN_CS0、1);

//手动等待断点进行切换
//spiPORT4->DCLR = 0x01;
gioSetBit (spiPORT4、SPI_PIN_CS0、0);


谢谢、
Benjamin

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

    您好 Ben、

    请使用 SPIPC0将 CS0配置为 GIO。 您可以通过 HALCoGen 将 CS0配置为 GIO:

    在 PINMUX 下、CS0引脚仍配置为 SPI。

    使用 MibSPI 和 SPI 作为 GIO 没有区别。

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

    尊敬的 QJ:

    感谢您的回复。

    之前它不起作用、因为未设置 PINMUX 中 SPI4ncs_0的连接、因此保持未连接状态。
    它可以正常工作。 如果未设置 Pin24的 Halcogen 中的 pinmux、则无法正常工作。

    必须将引脚多路复用器设置为 SPI4ncs_0函数才能将其用作 GPIO、这是非常令人困惑的。

    谢谢、
    Benjamin