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.

[参考译文] LAUNCHXL-CC3235S:SPI 接口::LaunchXL-CC3235和 MSP430FR5969寄存器

Guru**** 2390755 points
Other Parts Discussed in Thread: MSP430FR5969, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1210626/launchxl-cc3235s-spi-interface-launchxl-cc3235-and-msp430fr5969-reg

器件型号:LAUNCHXL-CC3235S
主题中讨论的其他器件:MSP430FR5969SysConfig

您好、TI 团队:

我正在处理 MSP430FR5969 (配置为 SPI 主器件)和 LaunchXL-CC3235 (配置为 SPI 从器件)之间的 SPI 数据传输、但面临一些问题。 实现和问题说明如下。 有人能帮忙吗?

实施:

  • MSP430FR5969:  
    • 被配置为主器件
    • SPI 配置涉及1MHz 时钟、模式0以及 SPI 接口的 eUSCI_B0
    • 配置为 从低电平到高电平的引脚4.3 (GPIO)=>这将响应来自 CC3235的从器件就绪信号并在 ISR 中执行 SPI 发送。
  • LaunchXL-CC3235:
    • 配置为 SPI 从器件
    • SPI 参数在随附的程序中指定。
  • 对于该实现、我执行了以下步骤:
    • 首先、我实施了 CC3235 - CC3235主从程序。 simplelink 库文件随附的代码。 该实现过程运行正常。 在同一个代码中、我进行了许多修改、之后、代码可以正常运行。 我所做的修改如下:
      • 将所有线程替换为 FreeRTOS 任务。  
      • 删除了主器件就绪同步线。  
      • 更改了从器件发送消息长度、消息文本和消息发送时间。  
    • NOE、因为一切顺利、我实施了 MSP430主器件 SPI 传输程序。 这也很好、因为我可以从 MSP430FR5969的 MOSI 引脚在示波器上看到数据。  

问题:

  • CC3235在其其中一个 GPIO 上生成从设备就绪信号。 在示波器上可以看到此情况。
  • 此从设备就绪信号提供给 MSP430的引脚4.3。 基于此信号、会生成一个中断、MSP430通过其 MOSI 引脚传输数据。 这在示波器上也可见。  
  • 问题是,当 CC3235执行命令 SPI_Transfer ()时,它会到达 dmaErrorFxn 段。 逻辑上应该发生的是,SPI_Transfer ()将返回 True 或 False。 这不会以某种方式发生。

您能介绍一下实施情况并告诉我吗?  

如果在这方面还有其他需要、请告诉我。  

此致、  

H C 特里维迪

附件:  

  • main.c => MSP430的 SPI 主器件
  • 查询-针对非 RTOS 接口的 CC3235从器件尝试1 => CC3235的 SPI 从器件程序

e2e.ti.com/.../1220.main.c

e2e.ti.com/.../query-_2D00_-CC3235-Slave-try-1-for-Non_2D00_RTOS-interface.c

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

    您好、

    您能否发布您的示波器捕获、以便我也可以参考它们?

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

    您好 Sabeeh:

    随函附上图像。 如图所示、黄色信号是触发信号、表示从 CC3235将从器件就绪。 MSP430在 P4.3上接收该信号并在 ISR 中启动 SPI 传输。 蓝色信号是来自 MSP430的 MOSI。

    此致、

    H C 特里维迪

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

    有没有人有机会研究一下这个问题?

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

    TI 团队、

    您的同事能否对此进行深入了解?

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

    有人能回答吗?

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

    您好、

    很抱歉错过了这个。 您提到 SPI_Transfer 达到 dmaError 函数。 我们需要理解这个原因。 您是否尝试过禁用 DMA?

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

    您好 Sabeeh:

    我没有故意禁用 DMA。 如果您可以浏览随我的查询附带的代码片段以及所描述的问题语句、我只做了这么多。  

    如何检查您询问的内容?

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

    您可以从 SysConfig 中的"SPI"选项卡下禁用 DMA。

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

    正如您在建议的那样、禁用 DMA 将解决我的问题?

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

    它至少是一个调试步骤、用于帮助了解正在发生什么情况。