有时在Linux系统下使用串口时,在操作关闭时会遇到内核崩溃或者其他的一些问题。
经过研究发现很可能是数据未发送完成引起的,即在关闭的时候,串口还在忙碌状态导致了崩溃问题。
解决方法就是,等待串口完成操作即可。即在关闭串口前加一个等待函数tcdrain即可。如下:
tcdrain(nc->fd); //等待输出完毕
close(nc->fd);
有时在Linux系统下使用串口时,在操作关闭时会遇到内核崩溃或者其他的一些问题。
经过研究发现很可能是数据未发送完成引起的,即在关闭的时候,串口还在忙碌状态导致了崩溃问题。
解决方法就是,等待串口完成操作即可。即在关闭串口前加一个等待函数tcdrain即可。如下:
tcdrain(nc->fd); //等待输出完毕
close(nc->fd);