您好,在 S32K312 上使用 UART 通信时,如果波特率超过 19200,则接收到的数据错误率很高,甚至完全失效。波特率低于 19200 时,不会出现问题。是什么原因导致了这种情况?以下是我的接收代码和时钟配置?
您好,
接收到的字节处理代码应尽可能短,以缩短执行时间。必须为接收到的每个字节调用此回调事件。否则就会出现超支等问题。
"这不是问题所在。如果我提高波特率,串行总线似乎会崩溃,MCU 将停止接收数据。如果我启用错误恢复功能,就会立即出现数据错误,但不会停止接收。您以前遇到过这个问题吗?"
您好,
很可能是回调处理造成的。删除下面的代码,只依靠回调事件。
尽量保持 RXFULL 事件的简短,因为如果调用 Receive 函数时接收 1 字节,则接收到的每个字节都会调用该事件。
BR, Petr