串口接收数据,会收到包的前边部分,然后报错:Resource temporarily unavailable,但是,接着仍然会收到报的哦后边部分,中间丢失了一部分。
原因:可能是非阻塞模式下使用了阻塞操作;
调用open函数时,使用了非阻塞模式(O_NONBLOCK),却直接用read函数读取;
而read默认为阻塞操作,所以导致报错。
解决:去掉串口设备open函数中的O_NONBLOCK后正常。
串口接收数据,会收到包的前边部分,然后报错:Resource temporarily unavailable,但是,接着仍然会收到报的哦后边部分,中间丢失了一部分。
原因:可能是非阻塞模式下使用了阻塞操作;
调用open函数时,使用了非阻塞模式(O_NONBLOCK),却直接用read函数读取;
而read默认为阻塞操作,所以导致报错。
解决:去掉串口设备open函数中的O_NONBLOCK后正常。