Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用串口检测高速数据流_Python_Serial Port_Pyserial - Fatal编程技术网

Python 用串口检测高速数据流

Python 用串口检测高速数据流,python,serial-port,pyserial,Python,Serial Port,Pyserial,每分钟有300件物品从生产带流出。使用带有pyserial和qthread的光学测微计,我尝试每秒接收200次。但我不能像我预期的那样做对。当我把它固定住时没有问题,但是当物体移动时,我不能得到正确的结果。我需要检测物品的宽度,通过串口快速流动。您如何推荐一种方法 问题:。当我减少超时时,它偶尔会在数据流中中断 尝试以下操作,减少到9600: Open port at “38400,8,E,1”, non blocking HW handshaking: >>> ser =

每分钟有300件物品从生产带流出。使用带有pyserial和qthread的光学测微计,我尝试每秒接收200次。但我不能像我预期的那样做对。当我把它固定住时没有问题,但是当物体移动时,我不能得到正确的结果。我需要检测物品的宽度,通过串口快速流动。您如何推荐一种方法

问题:。当我减少超时时,它偶尔会在数据流中中断

尝试以下操作,减少到9600:

Open port at “38400,8,E,1”, non blocking HW handshaking:

>>> ser = serial.Serial('COM3', 38400, timeout=0,
...                     parity=serial.PARITY_EVEN, rtscts=1)
>>> s = ser.read(100)       # read up to one hundred bytes
...                         # or as much is in the buffer

由于
串行连接
可以传输,您似乎可以获得更多的
数据。计算items*(每次测量的字节数)的结果是什么。我尝试每次测量只得到25个字节。串行端口设置:波特率=115200,超时=0.0075这些结果以1000位/秒为单位。远离波特率限制。但是,你计算过你每秒收到1000位吗?你能再解释一下“无法得到正确的结果”吗?从未见过这样的
timeout=0.0075
值,请尝试
timeout=0
我通过反复试验找到了最佳值:)当我减少超时时,它偶尔会在数据流中中断。例如,value,none,none,none,value,value,none。。。等等,“无法获得正确的结果”表示传入的数据不在我预期的范围内。无意义的数据。