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.

[参考译文] TMS320F28P650DH:UART 接收空闲中断

Guru**** 2562120 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1571192/tms320f28p650dh-uart-receive-idle-interrupt

器件型号:TMS320F28P650DH


工具/软件:

您好、

客户正在使用 F28P65 SCI 和 UART 进行外部通信。

它们需要在 UART 上使用接收空闲中断函数(SCI 已具有)、但没有。 任何解决方案?

对于 UART FIFO 发送、是否有办法同时支持奇数和偶数个字节发送中断?

非常感谢。

BR、Jordan

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

    尊敬的 Jordan:

    [报价 userid=“81435" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1571192/tms320f28p650dh-uart-receive-idle-interrupt

    它们需要在 UART 上使用接收空闲中断函数(SCI 已具有)、但没有。 任何解决方案?

    [/报价]

    UART 上有一个接收超时中断、它们应该能够以类似的方式使用。 如果 RX FIFO 中有数据长时间存放、该中断标志将变为高电平、这实际上意味着 RX 线路已空闲且数据已完成发送(逻辑与空闲中断类似)。 要设置此功能、他们可以将 RX FIFO 级别配置为 14/16、并启用 RX 中断和 RT 中断。 如果在 RX 标志为高电平时进入 ISR、软件可以从 RX FIFO 中读取 14 个字节。 如果在 RT 中断为高电平时进入 ISR、软件可以读取 RX FIFO、直到它为空、并执行结束传输所需的任何附加代码。 唯一不起作用的情况是、发送设备以 14 的倍数发送数据。 他们是否知道发送设备一次将发送多少字节?

    [报价 userid=“81435" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1571192/tms320f28p650dh-uart-receive-idle-interrupt

    对于 UART FIFO 发送、是否有办法同时支持奇数和偶数个字节发送中断?

    [/报价]

    遗憾的是、UART 上没有 1/16 FIFO 级别选项。 2/16 FIFO 深度可用于任何偶数传输。 对于奇数传输、它们可以执行以下操作之一:

    • 禁用 FIFO — 使用此设置,每次 1 字节保持寄存器为空且软件可以逐个写入字节时、都会触发中断。
    • 使用 2/16 FIFO 级别、并通过在每次中断中向 TX FIFO 写入两个字节来传输除最后一个字节之外的所有字节。 它们可以使用状态变量来跟踪发生了多少中断、在最后一个中断时、只向 TX FIFO 写入一个字节而不是两个字节即可完成奇数传输。

    如果他们有任何其他问题、请告诉我。  

    此致、

    Delaney

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

    Delaney、

    感谢您的答复。

    在接收模式下、如果使用 DMA、则超时功能不起作用、对吧? 每次 FIFO 接收数据时、DMA 都会复制到 RAM。  

    BR、Jordan

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

    尊敬的 Jordan:

    在这种情况下、接收超时方法仍然有效。 DMA 将每 14 个字节复制一次到 RAM(或根据配置的 FIFO 级别和匹配的 DMA 突发大小而有多个字节)、然后 RT 中断仍可用于传输结束时的最后 x 数量的字节。

    此致。

    Delaney