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.

[参考译文] TMS320F28379D:CPU 2上具有手动和非手动 SPISTE 的 SPI

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/881168/tms320f28379d-spi-on-cpu-2-with-manual-and-non-manual-spiste

器件型号:TMS320F28379D

您好!

我有一个使用 SPI 的项目、我正在将其迁移到 CPU2。

我的程序需要手动和自动操作 SPI 使能位。

GPIO_66_SPISTEB 在这种情况下、以前我的项目会使它自动运行、但对于 FIFO 缓冲区大小的批量读取、我已经手动设置它。

但是、在 CPU2中、引脚不再变为低电平、我假设该线在 CPU2上无法正常工作

我在将其设置为低电平进行长读/写之前调用该函数
GPIO_setPinConfig (GPIO_66_GPIO66);  

GPIO_writePin (66、0);


然后将其设置回  

GPIO_setPinConfig (GPIO_66_SPISTEB);

我的问题是、这是否适用于 CPU2? 我按照这些示例进行操作、并使用它来传递控制。

SYSCTL_selectCPUForPeripheral (SYSCTL_CPUSEL6_SPI、2、SYSCTL_CPUSEL_CPU2);

GPIO_setMasterCore (66、GPIO_CORE_CPU2);



除了通过设置 GPIO 之外、是否还有更好的方法来控制使能引脚?


请提供任何帮助。

谢谢

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

    Chris、

    我相信下面的代码正从 CPU1和 CPU2执行、如下所示。 我是对的吗?

    CPU1侧代码:

    GPIO_setMasterCore (66、GPIO_CORE_CPU2);

    CPU2侧代码:

    GPIO_setPinConfig (GPIO_66_GPIO66); GPIO_setDirectionMode (66、 GPIO_DIR_MODE_OUT);

    GPIO_writePin (66、0);

    GPIO_setPinConfig (GPIO_66_SPISTEB);

    当您尝试将 GPIO66用作 GPIO 输出引脚时、需要将 GPIO66配置为 GPIO 引脚和输出引脚。 根据代码片段、我不会将 GPIO66配置为 CPU2侧代码的输出引脚。 我已经展示了如何将 GPIO66配置为输出引脚、并以黄色突出显示代码语句。

    当您尝试将 GPIO66用作 SPISTEB 引脚时、SPI 外设会自动控制 SPISTEB。 因此、除了 GPIO_setPinConfig (GPIO_66_SPISTEB)之外、您不需要任何其他配置;

    此致、

    曼诺伊

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

    此问题是否已解决?