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.

[参考译文] TM4C123GH6PM:SSISR 寄存器和 SSI 发送/接收 FIFO

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/681178/tm4c123gh6pm-ssisr-register-and-ssi-transmit-receive-fifo

器件型号:TM4C123GH6PM

您好!

假设我 要发送5个字节、同时从从器件接收5个字节。

5个字节被写入 FIFO、然后 SSI 被使能。

要知道是否传输了5个字节、我将检查 TFE 是否为 true。

然后我要清空接收到的5个字节 。 当 RNE 为真时、我会检查是否打开、并继续读取 FIFO。

在这两种情况下检查标志是否有问题?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当第5个字节被传送到移位寄存器时、TFE (发送 FIFO 为空)标志被置位。 此时、您仅接收到四个字节。 如果您读取了在 RNE (接收非空)标志上轮询的字节、则可能会在接收到第五个字节之前读取四个字节并停止轮询。 您可以改为检查 BSY (忙)标志。 直到全部五个字节被发送和接收时、它才会被清除。 您可以循环读取五个字节、因为您将始终接收与发送相同数量的字节、尽管某些字节可能不包含有意义的信息。 也可以使用中断。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Bob 这是一个很好的答案和一个很好的表达。 但是,如果从设备死机或其中一条4线迹损坏,会发生什么情况。 是否有办法验证主设备和从设备之间的稳定性和完整性,而不是永远等待;例如,当我使主设备启动 TX 时,我应该检查一个标志来指示主设备和从设备之间的状况的正常或异常。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    即使没有连接从器件、主器件也会"接收"与传输的字节数相同的字节数。 字节可以全部为0x00或0xFF (取决于上拉/下拉)、但接收到的字节数将是如此。 没有自包含的方法来验证主器件/从器件连接。 最好在主器件和从器件之间建立一个协议、其中主器件可以检查预期的从器件响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢