我在linux下编写 串口收发数据的程序,使用的USB转串线,接收发送插针用曲别针相连 当向串口write 3个数据(AT\0)时 read没问题,但是当我write 28个或者更多数据时 再 read(fd, rbuf, 8) 重复直到全部接收完 发现 固定的 前18位数据 总是接收不到。。。。。。很郁闷, 我试过发送20个数据 接收的 也值有后10个 也就是前8个固定丢失。。。求解。。。
------解决方案--------------------------------------------------------
代码贴上来:
你怎么设置的termios,发送的是什么数据?
------解决方案--------------------------------------------------------
你在每次write时 清除一下缓冲区 tcflush()一下 ,可能是上一次的缓存数据还在,没有清理掉,影响来 后面的数据读写。。