请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMDXRM57LHDK 工具/软件:Code Composer Studio
您好!
我正在从事一个项目、该项目接收和处理大量传感器数据(每60ms 2k 字节)。 我已经成功找到并执行了 SCI DMA 的示例代码。 因此、我遇到的问题不是实际接收数据、而是通知。
理想情况下、对于每个完全接收到的封装、我需要收到一次通知、因此每~60ms 收到一次通知。 现在、我正在使用一个每1-2ms (每 µC 周期)调用一次的函数、如果接收到新的封装、该函数应返回 true、并且两者之间应返回 false。 在我当前的实施中、它总是返回 true。 该准则如下:
bool DMATransfer()
{
if (dmaGetInterruptStatus (DMA_CH1、LFS))
{
//重新启动
sciREG4->CLEARINT |= SCI_SET_RX_DMA | SCI_SET_RX_DMA_ALL;
dmaSetChEnable (DMA_CH1、DMA_HW);
sciREF4->SETINT |= SCI_SET_RX_DMA | SCI_SET_RX_DMA_ALL;
返回 true;
}
返回 false;
}
如果有任何建议可以解决这个问题、我将不胜感激。
此致、
Lars