您好!
我有一位客户试图利用 UART 中的 RXTO 计数器。 根据 TRM 上的说明、"当接收器关闭时、接收超时中断 接收 FIFO 不为空 ,并且在 IFL 中未接收到指定时间的更多数据。 RXTOSEL 位"
FIFO 为空时、是否可以使用计数器? 客户不在计时器通道中、因此不能简单地在 RXINT 之后使用计时器。 理想情况下、只要在特定数量的 BRCLK 中尚未接收到字节、它们就能够具有 RTOUT 中断。
穆南
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.
您好!
我有一位客户试图利用 UART 中的 RXTO 计数器。 根据 TRM 上的说明、"当接收器关闭时、接收超时中断 接收 FIFO 不为空 ,并且在 IFL 中未接收到指定时间的更多数据。 RXTOSEL 位"
FIFO 为空时、是否可以使用计数器? 客户不在计时器通道中、因此不能简单地在 RXINT 之后使用计时器。 理想情况下、只要在特定数量的 BRCLK 中尚未接收到字节、它们就能够具有 RTOUT 中断。
穆南
您好、Munan:
RXTO 用于检查 UART 传输是否已结束。 它要求 RX FIFO 不得为空、以避免在没有 UART 发送时重复进入超时中断。 如果客户想要使用 RX 超时功能、有一种推荐的方法:
1)。 设置 RX FIFO 阈值水平>= 2个条目(接收>= 2个条目时、将触发中断。 您可以读取一个字节的数据、并在 FIFO 中保留一个字节的数据);
2)。 设置指定的 RXTO 时间;
3)。 当触发 RX 超时中断时、我们知道 UART 传输已结束、
4)。 在 RX 超时中断中、您可以从 RX FIFO 中读出最后一个字节的数据。 并且记得清除超时中断标志。
但是、如果客户坚持在 FIFO 为空时使用计数器、他可以考虑使用"SysTick "。 您可以在 TRM 中找到有关"SysTick "的描述。
此致、
K·扬茨