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.

[参考译文] RTOS/MSP432P401R:MSP432 SPI主从模式切换

Guru**** 2536030 points
Other Parts Discussed in Thread: CC2650

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/577802/rtos-msp432p401r-msp432-spi-master-and-slave-mode-switching

部件号:MSP432P401R
在“线程:CC2650”中讨论的其它部件

工具/软件:TI-RTOS

您好,

我遇到了MSP432上在主从之间切换SPI模式的问题。 是否可以通过RF_OPEN在模式设置为"主"和"从"的情况下完成此操作?

在我的测试项目中,MSP432以从属模式启动,CC2650以主模式启动。 CC2650通过外部GPIO唤醒MSP432并发送斜坡数据。 一旦MSP432完成接收,SPI将通过SPI_CLOSE ()关闭。

接下来,MSP432将通过SPI_open()将SPI模式切换为Master并启动事务(阻塞模式)。 在此步骤中,系统似乎卡在SPI_TRANSFORT()中。 传输模式正在阻塞,传输超时将永远存在。 我不确定SPI是否仍处于待定状态。  

上述SPI模式切换步骤是否正确,或者在切换SPI模式之前应执行其他步骤。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不要混合SPI模式,让msp432始终为主。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的快速回复。

    我们确实计划将MSP432用作主中继器,将CC2650用作从属设备,但只是探索切换SPI模式的可能性。 您是否知道导致"卡滞"问题的原因?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kaichien (Thomas) Tsai 说:
    您是否知道导致"卡住"问题的原因?[/QUOT]

    是的。 同样的原因,用刀吃汤和用勺子切面包是很难的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请记住,SPI已经是一个双向通信通道,由主中继器发起事务。 它不是按照您描述的方式切换侧面。 如果确实需要从端启动传输,则需要从端的另一个信号(也称为"边带信号",因为它不是常规SPI接口的一部分)在主端生成中断。 然后,主设备可以执行请求从属设备数据的事务。 这也是对从属设备的"确认",表示接收到中断。 (这里对称性很好)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    明白了,谢谢Bob!