linux请问串口操作write(fd,buffer,bufflen);连续发送几千次后就无法再向外发送数据【但是可以读数据】?
最好有代码,这样分析抓不准,可能原因: 缓冲区问题,不过串口缓冲应该支持不了几千次 字符串问题,类似申请了内存没释放,或者产生了越界或者乱码之类的 读取正常,说明串口本身没问题,除了程序本身,那么还可能是接收端处理的问题
linux串口读取数据被截断,怎样一次全部接收?
没办法保证能够一次全部接收,只能自己缓存起来处理。比如,发送数据时候增加带有长度的数据头以及末尾的校验,用 select 对串口做非阻塞读取,读到数据后检查是否完整,不完整就接着读,直到获得完整数据再处理。