串口接收数据,会收到包的前边部分,然后报错:Resource temporarily unavailable,但是,接着仍然会收到报的哦后边部分,中间丢失了一部分。
原因:可能是非阻塞模式下使用了阻塞操作;调用open函数时,使用了非阻塞模式(O_NONBLOCK),却直接用read函数读取;而read默认为阻塞操作,所以导致报错。
解决:去掉串口设备open函数中的O_NONBLOCK后正常。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。