2136196_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2136196_zh-CN

2136196_zh-CN

s32k312 uart

您好,在 S32K312 上使用 UART 通信时,如果波特率超过 19200,则接收到的数据错误率很高,甚至完全失效。波特率低于 19200 时,不会出现问题。是什么原因导致了这种情况?以下是我的接收代码和时钟配置?微信图片_20250718111859.png微信图片_20250718111744.png

Re: s32k312 uart

您好,

代码是多余的,但对恢复接收很有用。
您应该直接使用 "事件",如下所示
PetrS_2-1753181872126.png

接收到的字节处理代码应尽可能短,以缩短执行时间。必须为接收到的每个字节调用此回调事件。否则就会出现超支等问题。

因此,请考虑中断优先级与应用程序其他任务/外设的关系。
 
BR, Petr
Re: s32k312 uart

"这不是问题所在。如果我提高波特率,串行总线似乎会崩溃,MCU 将停止接收数据。如果我启用错误恢复功能,就会立即出现数据错误,但不会停止接收。您以前遇到过这个问题吗?"

Re: s32k312 uart

您好,

很可能是回调处理造成的。删除下面的代码,只依靠回调事件。

PetrS_0-1752830107838.png

尽量保持 RXFULL 事件的简短,因为如果调用 Receive 函数时接收 1 字节,则接收到的每个字节都会调用该事件。

BR, Petr


标记 (1)
无评分
版本历史
最后更新:
‎11-21-2025 06:25 PM
更新人: