我正在使用不带微控制器地址模式的 SCI。 我在接收到的每个字节上都设置了一个中断、以将其复制到缓冲区中。
我期望的是检测接收到的帧何时完成。 实际上我是 通过( SCI_getRxStatus(SCIA_BASE)和 SCI_RXSTATUS_WAKE )轮询 RXWAKE。 理想情况是在检测到 RXWAKE 上升沿时发生中断、因此我知道我已经收到了一个要分析的完整帧。
这是可行的吗? 是否有有关如何实现这一点的示例?
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.
我正在使用不带微控制器地址模式的 SCI。 我在接收到的每个字节上都设置了一个中断、以将其复制到缓冲区中。
我期望的是检测接收到的帧何时完成。 实际上我是 通过( SCI_getRxStatus(SCIA_BASE)和 SCI_RXSTATUS_WAKE )轮询 RXWAKE。 理想情况是在检测到 RXWAKE 上升沿时发生中断、因此我知道我已经收到了一个要分析的完整帧。
这是可行的吗? 是否有有关如何实现这一点的示例?
您好,Yaroslav,
目的是为了澄清您是否是指 块 (根据 TRM、一个帧被定义为一个字节)?

我不知道 SCI 模块中有一种硬件实现可以做到这一点。 您确切地知道每个块接收了多少帧吗?
此致、
艾里森
您好!
我还曾寻找一个 SCI 选项、在检测到通信暂停后、需要中断。 对于 RXWAKE 标志来说、生成一个中断就足够了。 但是、据我所知、SCI 没有提供此类选项。
这个解决方案的优势是它能够在快速 SCI 通信期间大大减少 CPU 负载。 可以将 RX FIFO 设置为一个较大的值、例如15、并额外启用 RX 唤醒中断。
在 RX 唤醒上实现中断非常重要。
此致、
安迪