当前位置: 技术问答>linux和unix
linux串口编程的问题,大家给我点思路和指导
来源: 互联网 发布时间:2017-01-30
本文导语: 最经在用linux下串口编程遇到了一些问题,就是在接收上遇到了一些问题,设置VMIN为8,VTIME为0,应为不知道什么时候串口会发送数据上来,所以用了一个线程一直读这个串口,每次读8个字节的数据 现在遇到的现象是...
最经在用linux下串口编程遇到了一些问题,就是在接收上遇到了一些问题,设置VMIN为8,VTIME为0,应为不知道什么时候串口会发送数据上来,所以用了一个线程一直读这个串口,每次读8个字节的数据
现在遇到的现象是一次性发送24个节的数据,接收到的是24个字节,但是会丢掉其中的一些数据,还有一些数据是重复的
丢掉的数据和重复的数据是有规律的
输入串口的数据是: 10 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 10 21 22 23 24 25 26 27
ARM开发板接收到的数据是10 21 22 23 24 25 26 27 10 21 22 23 24 25 26 27 10 21 22 23 24 25 26 27
请问各位这是怎么回事,能提供下解决思路吗
现在遇到的现象是一次性发送24个节的数据,接收到的是24个字节,但是会丢掉其中的一些数据,还有一些数据是重复的
丢掉的数据和重复的数据是有规律的
输入串口的数据是: 10 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 10 21 22 23 24 25 26 27
ARM开发板接收到的数据是10 21 22 23 24 25 26 27 10 21 22 23 24 25 26 27 10 21 22 23 24 25 26 27
请问各位这是怎么回事,能提供下解决思路吗
|
如果你的程序写的对的话,应该不会出现这种问题,贴程序吧,贴接收部分就行了。
我估计问题可能在read时,或者是那个buffer的读写上。
我估计问题可能在read时,或者是那个buffer的读写上。
|
一次性把数据全部收下来
我以前做过一个,等待接收,我直接收50个,反正50以内都能收回来
等待时间设置为1,延迟感觉不出来,有数据就全部收,一般不会漏
我以前做过一个,等待接收,我直接收50个,反正50以内都能收回来
等待时间设置为1,延迟感觉不出来,有数据就全部收,一般不会漏