【发布时间】:2016-12-31 15:39:36
【问题描述】:
我正在使用 Pyserial (+Python 2.7) 读取从眼动仪获取的眼动追踪坐标(CRS Live-Track 设置为串行端口)。使用下面的代码,我能够成功启动跟踪器、读取/保存坐标线、停止跟踪器并关闭。我的问题是我需要在执行其他任务(例如刺激显示)时不断读取坐标。就目前而言,我在读取数据时无能为力('trial1 = ser.readline')。在我继续之前,我必须等到我读入数据。在我显示刺激/收集响应等时,有没有办法从串行端口连续读取数据?
我需要打开追踪器,在试用期间收集数据,然后关闭追踪器。
import serial, time
ser = serial.Serial(
port='COM3',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS,
)
x = ser.is_open #check port is open
if x:
print "port is open"
print "port name is: %s" %(ser.name) #check which port
ser.flushInput()
ser.flushOutput()
running = True
while running:
ser.write('$Raw\r') #start eye-tracker
trial1 = ser.readline() #read a line
###i need to do stuff here###
ser.write('$Stop\r') #stop eye-tracker
running = False
ser.flushInput()
ser.flushOutput()
print trial1 #print coordinates output
ser.close()
干杯, 史蒂夫
【问题讨论】:
标签: python-2.7 pyserial psychopy