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.
工具与软件:
我正在处理 TMS320F280033和 Renesas R5F100AE 之间的 SCI 通信。 我已经启用了 FIFO、并且我参考了 sci_ex2_loopback_interrupts 示例工程进行配置。
1.我已经验证过数据是在 GPIO 28接收的、代码示例。 然而、SCIFFRX 寄存器中的 RXFFINT 位未置位。
2.我正在尝试使用 CPUTIMER0来设置/重置用于检查标准1.5和3.5字符延迟的标志。 我可以在寄存器观察窗口中看到 TIMH:TIM 值递减、但当将断点放入 sciaRXFIFOISR 时、程序不会停止。
尊敬的 Samrudhi:
几个方面:
此致、
Delaney
尊敬的 Delany:
1&2. 是的、 sci_ex2_loopback_interrupts 示例运行正常、不会出现任何错误。
我提到这个例子是因为我引用了 initSCIAFIFO()函数来设置 FIFO 操作。
3.在我的项目中、我已经 用 SCI_disableLoopback (SCIA_BASE)替换了 initSCIAFIFO ()中的 SCI_enableLoopback (SCIA_BASE)函数。
4.不、我不是在用 cputimer 清除 SCI 标志。 数据处理完毕后、这在 ISR 本身中完成、如您所述。 RX ISR 被写入、如果 FLAG1被提升、调用函数1。 如果不是、请调用函数2。 完成此 操作后、我将调用 SCI_clearInterruptStatus (SCIA_BASE、SCI_INT_RXFF)和 Interrupt_clearACKGroup (INTERRUPT_ACK_group9)。 在 CPUTIMER 中设置了该用户定义的 FLAG1。
此致、
Samruddhi
尊敬的 Samrudhi:
能否在"Expressions"视图中验证 SCIFFRX 寄存器中的 RXFFIL 字段是否等于2、以及同一寄存器中的 RXFFST 字段是否至少达到2? 这是应该升高 RXFFINT 标志的情况。
如果您在 SCI RX ISR 的开头添加一个断点、是否曾经被命中?
此致、
Delaney
尊敬的 Delany:
否、RXFFST 的值仍然为零、即使我在 SAR 中看到一些值也是如此。
否、该断点没有被命中。
尊敬的 Sammrudhi:
您能验证 SCIRXST 寄存器中没有出现任何 RX 错误标志吗? 如果只启用 RX FIFO 级中断并且每个数据包被错误地接收、那么永远不会命中 SCI RX ISR。
此致、
Delaney
嗨、Delaney、
事实证明、另一个中断中的 DINT 指令导致了该行为、现在问题已解决。 感谢您的帮助!
尊敬的 Samrudhi:
很高兴听到问题已解决、我将关闭该主题、但如果您有任何其他问题或疑问、可以随时制作另一个主题。
此致、
Delaney