大家好、
我使用的是 tm4c1231e下午6点的 UART-0。 当我开始通过 UART 传输数据(约1024字节)时,在中间,我从 UART 获得“Receive_Timeout_Interrupt ()”,即使没有数据从外部传输到 UART。
我注意到接收到的数据字节是我发送到 UART 的数据字节。 对于使用 UART-0是否有任何特殊的建议设置(Hardwrae/软件方面的设置)?
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.
大家好、
我使用的是 tm4c1231e下午6点的 UART-0。 当我开始通过 UART 传输数据(约1024字节)时,在中间,我从 UART 获得“Receive_Timeout_Interrupt ()”,即使没有数据从外部传输到 UART。
我注意到接收到的数据字节是我发送到 UART 的数据字节。 对于使用 UART-0是否有任何特殊的建议设置(Hardwrae/软件方面的设置)?
[引用用户="Charles Tsaaa"]将该机制视为提醒 CPU 仍有未读数据。
Charles、我实际上看不到接收超时(RT)中断。
RT 解决的问题是、当 RX 触发器被设置为大于刚刚到达的字节数时、避免丢失/忽略接收的最后几个字节。
有一个更数字的解释:您可以将 RX 设置为在 FIFO 缓冲区的50%处触发、因此只有当8个字节进入时、它才会干扰程序执行。 如果消息的最后一部分只包含3个字节、RX 将不会触发、直到后来(如果有)再接收5个字节。 因此、如果 UART 引擎在最后一个字节之后保持"一段时间"而不接收任何内容、则会触发 RT、并且 ISR 仍可以处理其中的任何内容。 其中一个文档对"某个时间"进行了解释、但显然比在配置的 UART 速度下新字节进入所需的时钟数量多了一点。
[引用用户="Charles Tsaa"]我同意您的意见。[/引用]
哦,我的——论坛记分板现在是否显示:“盲松鼠2—专家0?” (当然,这位记者(还有)——很有资格——做一只松鼠——和盲人!)
通常、最佳的"防御/响应"就是简单的"你是对的!" 非常感谢你们-查尔斯!
我们注意到(有些)这里-通常会-"扭曲/转向/扭曲"-任何东西(相反-但通常是正确的)会抵制他人的观点...