嗨,我在研究STM32f401控制器。我正面临UART控制器的一个问题。我正在发送命令从PC到STM32板。命令由4个字节组成。就像PCLI(也就是PC登录)。在测试代码时,在15分钟左右或更短的时间内。uart卡住了。我正在使用KEIL进行调试,在这个过程中我看到了寄存器(RXNE,空闲,ORE)这三个寄存器同时很高(当数据到达时)。我使用的是rxcpltcallback函数。当我从UART获得PCLI时,我将执行我的事件。img我的代码看起来像
我将从rx回调函数获得命令。
发布于 2022-03-04 08:42:47
你看过手册看矿石意味着什么吗?这是超限错误。在软件处理上一个字节之前,您收到了另一个字节。
简单的解决方案是要么以更慢的速度发送字节,要么更快地处理它们。
如果您不能做到这两件事,那么您需要快速地从UART读取字节,并将它们存储在没有处理它们的地方,当您有时间时,它们会处理它们。
https://stackoverflow.com/questions/71348418
复制相似问题