器件型号: TMS320F2800137
尊敬的团队:
我发现一个非常有趣的事情,当启用 SCIC TX INT 嵌套,即使我关闭 SCIC_TX_INT ,它仍然继续进入 SCIC TX 中断功能。
您能帮助我在您的电路板上运行代码并帮助我找到根本案例吗? 谢谢!
工程下载链接:
此致、
Zane
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.
器件型号: TMS320F2800137
尊敬的团队:
我发现一个非常有趣的事情,当启用 SCIC TX INT 嵌套,即使我关闭 SCIC_TX_INT ,它仍然继续进入 SCIC TX 中断功能。
您能帮助我在您的电路板上运行代码并帮助我找到根本案例吗? 谢谢!
工程下载链接:
此致、
Zane
尊敬的 Zane:
我不建议使用 Interrupt_disable () 函数进行中断嵌套,除了禁用 PIEIER 之外,它还执行了许多操作。 对于嵌套、需要以非常特定的方式遵循该序列。 此处、PIE 可能会进入意外状态。 以下是我看到定义的中断的顺序、这些中断的顺序是 PIE 自动设置优先级的方式。 如果有未使用的元件、请告诉我。
您希望使用嵌套配置哪个用户定义的优先级顺序? 我可以提供正确的实现方法。
此致、
Delaney
尊敬的 Delaney:
我发现 sci_ex2_loopback_interrupts 演示无法理解。 我们不将任何数据放入 TX FIFO 中,但它将在程序运行后进入 TXISR 函数。 我阅读了 TRM、发现它可能与 CPU 复位后设置的 TXRDY 有关、对吗? 但即使我 在 sci_ex2_loopback_interrupts TXISR 中注释了 SCI_writeCharArray (SCIA_BASE、sDataA、2);、它也会导致 TXISR 函数溢出。 我不明白为什么会发生这种情况。


您可以看到我注释了 SCI_writeCharArray、但它始终进入 TXISR 并更新 sDataA。 您可以试用我们的演示代码。

此致、
Zane
尊敬的 Zane:
是否启用了 SCI FIFO? 它看起来像是->如果 启用了 FIFO、则在配置和启用 SCI 模块时应立即触发 TXRDY 中断。 这是因为 TX FIFO 中断条件基于一定数量的元素为空、因此将自动满足该条件、因为 TX FIFO 一开始为空。 如果您清除 ISR 内的中断条件、但不要向 TX FIFO 写入任何数据、由于仍然满足 FIFO 条件、中断应该会再次触发、并且您将获得另一个中断。 我相信这是您看到的吗?
TXRDY 中断的基本含义是:“您可以 将 x 个字节写入 FIFO 而不会发生溢出 — 因为 x 槽为空“。 如果您不在 ISR 中填充 FIFO、将一次又一次地满足该条件。 应用不使用 TX ISR、除非它们几乎想要 连续数据流。
此致、
Delaney