Python 用串口检测高速数据流
每分钟有300件物品从生产带流出。使用带有pyserial和qthread的光学测微计,我尝试每秒接收200次。但我不能像我预期的那样做对。当我把它固定住时没有问题,但是当物体移动时,我不能得到正确的结果。我需要检测物品的宽度,通过串口快速流动。您如何推荐一种方法 问题:。当我减少超时时,它偶尔会在数据流中中断 尝试以下操作,减少到9600: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 =
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。。。等等,“无法获得正确的结果”表示传入的数据不在我预期的范围内。无意义的数据。