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.

[参考译文] TMS570LC4357:在多缓冲模式下使用 MibSPI 时出现意外的 RXOVR

Guru**** 2455360 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1220772/tms570lc4357-unexpected-rxovr-when-using-mibspi-in-multi-buffer-mode

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

使用 MibSPI 时我观察到意外的接收器溢出。

我在多缓冲模式下使用 MibSPI。

我已经监控了多缓冲 RAM 的 RXRAM 位置、它们的变化如下。

RAM 被初始化为0x80000000。 即 RXEMPTY 标志被置位而 RXOVR 标志被清零。 这是我所期望的。
当我调用 HALCoGen 函数 mibspiSetData ()时、RXRAM 会更改为0xA0000000。 即 RXEMPTY 标志被置位、RXOVR 标志被清零、而 TXFULL 现在被置位。 这是我所期望的。
然后我调用一次 mibspiTransfer ()、RXRAM 将更改为0x403D0000。 即、现在已设置 RXOVR。

为什么当 RXRAM 为空且发生单次传输时会发生 RXOVR?

对 mibspiGetData()的后续调用不会更改 RXRAM。 它保持为0x403D0000。
为什么读取数据不清除 RXOVR 标志?


谢谢你。

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

    Andrew、您好!

    您能否附上您的代码? 这将有助于在最后轻松调试您的问题

    --

    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    感谢您的答复。
    我发现了我的问题的原因。
    我意识到、即使不需要、我也需要读取所有接收到的数据。
    我将关闭此问题。

    此致、
    Andrew