日期:2014-05-16  浏览次数:20731 次

请教关于linux系统下 用read读取串口数据出现的丢失问题
我在linux下编写 串口收发数据的程序,使用的USB转串线,接收发送插针用曲别针相连   当向串口write  3个数据(AT\0)时 read没问题,但是当我write  28个或者更多数据时 再 read(fd, rbuf, 8)   重复直到全部接收完  发现 固定的 前18位数据 总是接收不到。。。。。。很郁闷, 我试过发送20个数据  接收的 也值有后10个 也就是前8个固定丢失。。。求解。。。

------解决方案--------------------
代码贴上来:
你怎么设置的termios,发送的是什么数据?
------解决方案--------------------
你在每次write时 清除一下缓冲区 tcflush()一下 ,可能是上一次的缓存数据还在,没有清理掉,影响来 后面的数据读写。。