linux 下,串口读取很多数据 放到1.txt里
linux下,串口读取很多数据放到1.txt里。步骤如下:首先运行串口通信程序,对外部GPS模块发数据控制它输出,数据源源不断进来,我在shell里输入命令cat/dev...
linux 下,串口读取很多数据 放到1.txt里 。
步骤如下: 首先运行串口通信程序,对外部GPS模块发数据控制它输出,数据源源不断进来, 我在shell里输入命令 cat /dev/tty0>1.txt 重定向到文件,但是数据保存不完整,在我输入重定向命令前就已经有数据输出了。那段数据丢失了。在通信程序里加system(“ cat /dev/tty0>1.txt ”);根本不能重定向。 怎样完整的保存串口进来的数据 展开
步骤如下: 首先运行串口通信程序,对外部GPS模块发数据控制它输出,数据源源不断进来, 我在shell里输入命令 cat /dev/tty0>1.txt 重定向到文件,但是数据保存不完整,在我输入重定向命令前就已经有数据输出了。那段数据丢失了。在通信程序里加system(“ cat /dev/tty0>1.txt ”);根本不能重定向。 怎样完整的保存串口进来的数据 展开
1个回答
2010-11-19
展开全部
你的这个串口设备在打开(也就是调用open函数获取设备描述符)的时候设置的是非阻塞方式。导致串口上没数据的时候read也立即返回,但是你的while已经把有效的数据读走了,if里面读到的一定是空的,所以什么也不打印。
建议
1. 在打开串口设备时使用阻塞方式,不会设置的话查查open系统调用的帮助,它有个flag;
2. 把while循环内的if语句去掉。
建议
1. 在打开串口设备时使用阻塞方式,不会设置的话查查open系统调用的帮助,它有个flag;
2. 把while循环内的if语句去掉。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询