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.

[参考译文] TMS570LS1114:MIBSPI 接收中断仅触发一次

Guru**** 2392765 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1073903/tms570ls1114-mibspi-receive-interrupt-is-triggert-only-once

部件号:TMS570LS1114

在我们的应用程序中,我们使用两个 MIBSPI 端口与外部设备进行通信。 MIBSPI3用于 TX 数据,MIBSPI5用于 RX 数据。 两个端口都配置为主模式,因此 MIBBI3对 TX 使用 SIMO[0],MIBBI5对 RX 使用 SOMI[0]。 使用轮询方法触发 TX。 接收 到6 x 8位数据后,Rx 应立即触发中断。 数据在两条线路上看起来都是正确的(通过示波器验证)。

此时的问题是,在收到第一条消息后,我只得到一个中断。  之后,我在示波器上看到了正确的数据,但没有触发中断。 这可能是什么问题?

此致,

康斯坦蒂

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

    你好 ,康斯坦蒂,

    SPI 是一个基于同步,全双工主从的接口。 主从或从从从的数据在上升或下降时钟边缘同步。 主和从设备都可以同时传输数据。  SPI 接口只能有一个主中继器,并且可以有一个或多个从属设备。  

    要开始 SPI 通信,主中继器必须发送时钟信号,并通过启用 CS 信号来选择从中继器。  Mossi 将数据从主中继器传输到从中继器,而 Miso 将数据从从主中继器传输到主中继器。

    [引用 userid="429359" url="~ë/support/icros/arm-based 微处理器组/基于 ARM 的微控制器/f/arm-based 微控制器-forum/1073903/triggers1114-mibspi-receive-interrup-is-is -BSPert-onya]]两个端口都配置为 Master 模式,因此 SMI3和 SMI[3]使用 SMI3。 [/引用]

    配置不正确。 您可以将 MibSPI3或 MibSPI5配置为主节点,但不能同时配置两者。 例如,MibSPI3作为主服务器:

    大师               从属

    MibSPI3 SIMO -->  MibSPI5 SIMO

    MibSPI3 SOMI <--  MibSPI5 SOMI

    在从机大小中,所有数据都被复制到 TG0 RAM 中。