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/TMS570LS1224:将 MIBSPI3引脚用作 GIO

Guru**** 2455560 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/641445/ccs-tms570ls1224-using-mibspi3-pins-as-gio

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

工具/软件:Code Composer Studio

早上好的男士、

我已经在这个上呆了几天了、非常感谢您提供的任何提示。

在我的应用中、我想使用 MIBSPI3CLK、 MIBSPI3SOMI 和 MIBSPI3SIMO 作为一个 GIO 引脚。 我不会将任何 MIBSPI3引脚用于 SPI。  

 在 Halcogen 中、我启用了 SPI3驱动程序:

在 SPI3中、我选择了以下选项:

我像以前一样离开了 MIBSPI3。

在 CCS 中、我在 sys_main.c 中包含了 spi.h、并添加了以下行

/*使 SPI 脱离复位状态。*/
spiREG3->GCR0 = 1U; //我们不需要 SPI 的全部功能,因此我们不调用 spiInit()的原因

gioSetDirection (spiPORT3、0x000000FF); 

在我的 while (1)内

gioToggleBit (spiPORT3、9);// CLK
gioToggleBit (spiPORT3,10);// SIMO
gioToggleBit (spiPORT3、11);// SOMI 

但是、这不起作用。 我正在成功切换其他 GIO 端口、因此我怀疑配置 SPI3的方式存在问题。 如果有任何指导/建议,将不胜感激。

此致、

索非亚

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

    所有 SPI 引脚均可通过 SPIPCx 控制寄存器编程为功能(SPI)引脚或 GIO 引脚。 如果要将 SPI_CLK、SPI_SIMO 和 SPI_SOMI 用作 GIO 引脚、请在使用这些引脚之前正确配置 SPIPC0。

    /* SPI3将 CS/CLK/SIMO/SOMI 引脚设置为 GIO */
    spiREG3->PC0 =(uint32)((uint32) 0U <<0U)/* scs[0]*/
    |(UINT32)((UINT32) 0U << 8U) /* ENA */
    |(UINT32)((UINT32) 0U << 9U) /* CLK */
    |(UINT32)((UINT32) 0U << 10U) /* SIMO */
    |(uint32)((uint32) 0U << 11U); /* SOMI */
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    感谢您的回应、但我恐怕 Halcogen 已经做了这件事 、但它不起作用。

    在 SPI.c 中、我具有:

    /* SPI3将所有引脚设置为功能*/
    spiREG3->PC0 =(uint32)((uint32) 0U <<0U)/* scs[0]*/
    |(uint32)((uint32) 0U << 1U)/* scs[1]*/
    |(uint32)((uint32) 0U << 2U)/* scs[2]*/
    |(UINT32)((UINT32) 0U << 3U)/* SCS[3]*/
    |(uint32)((uint32) 0U << 4U)/* scs[4]*/
    |(uint32)((uint32) 0U << 5U)/* scs[5]*
    |(UINT32)((UINT32) 0U <<8U)/* ENA */
    |(UINT32)((UINT32) 0U <<9U)/* CLK */
    |(uint32)((uint32) 0U <<10U)/* SIMO */
    |(uint32)((uint32) 0U << 11U);/* SOMI * 

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

    是的,代码被放置在 spiInit()中,但您没有在 main()中调用 spiInit()。