串行控制台缓冲区

串行控制台缓冲区

当我通过串行控制台连接到我的主板,启动我的应用程序,使用 printf() 记录一些事件并关闭串行控制台时,我的应用程序可以在一小段时间内接收请求并发送响应,然后崩溃。

如果我保持串行控制台打开,则不会附加此内容。

我怀疑是串行控制台缓冲区的问题。但也许我错了。

你怎么认为 ?

非常感谢Sylvain

答案1

您的应用程序正在尝试阻止写入控制台,但由于您关闭了会话,因此没有任何内容可以使用这些消息,并且应用程序将永远阻塞。

最简单的解决方法是将串行控制台设置为无握手模式,这样未使用的日志消息就会丢失,而不是阻止应用程序。

相关内容