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.

[参考译文] 如果 TX 缓冲区在 TM4C123GXl 的 FIFO 中有可用空间、如何生成中断?

Guru**** 2460850 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/652063/how-to-generate-an-interrupt-if-the-tx-buffer-have-available-space-in-fifo-in-tm4c123gxl

我使用 Keil uVision5通过 Tiva 软件库对 TI Launchpad TM4C123GXL 进行编程。  

我了解 RX 中断 、但 如果 TX 缓冲区在 FIFO 中有可用空间、我找不到任何示例或示例代码来生成中断。

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

    如需更多信息、请参阅此 E2E 帖子和随后的讨论: e2e.ti.com/.../2086974

    如果您对该主题有任何后续问题、请告诉我。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为 TM4C 不会提供您想要的中断。 这是 UART 设计中的一个缺点。

    只有当 UART FIFO 降至阈值以下时才会产生发送中断、这意味着 FIFO 必须首先升至阈值水平以上。 FIFO 为空时没有中断。 因此、如果您未能填充超过阈值的 FIFO、则不会有发送中断。 没有方法可以确定您是否已填充超过阈值。

    处理这一问题并非不可能、但它比它需要的复杂得多。 UART 本可以再使用两个发送中断(一个是 FIFO 空中断、另一个是发送移位寄存器空中断)、并且可以将接收字符超时中断折叠到接收中断中、而不会丢失功能、而会减少出现开发错误的可能性。

    Robert

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

    喜欢”... 精心制作的回复 Robert -非常细致-弥补了 UART 设计的缺陷。    您已经"听上去很早就知道了这一点"、但供应商的回应却是"象征性的"。

    我也想指出,另一个的"向另一个帖子引导"(以"响应者易用"来表示"所有读者的额外努力")证明是次优的,因为它"打破了用户的关注"-延迟-并可能(再次)将"所有向量离开的读者"暴露在一个" 不引导、多帖子、疯狂的帖子"中!

    很明显、"一个地方的一切(或几乎所有)都有价值!" (一个线程!)

    至少、"远距离帖子"的简要摘要以及"最佳答案发布"的"时间戳"使此类努力更有用、更有效率。    (也许即使(当时)令人信服-不是吗?)    引导程序-减去此类"指南帖子"-已"发生了很长时间"-但"许多人"需要增加时间/精力-同时"仅为一个减少此类内容!"    (不是一个好的或客户关心的交易...)