我正在尝试创建一个线程来侦听来自 COM 串行端口的传入数据,而主线程正在执行某些操作。
这是我的代码(为简洁起见,省略了一些代码):
def readMsg( serial ):
msgArray = []
while ( True ):
char = "0x" + serial.read().encode('hex')
if char == '0xfd':
msgArray = []
msgArray.append(char)
elif char == '0xfc':
msgArray.append(char)
print debugPrefix, "ComPort:", (serial.port + 1), msgArray
elif char == '0x':
pass
else:
msgArray.append(char)
# Find available ports
initializeComPorts()
# Print port infos
printComPorts()
# Opens serial and returns opened serial
serialPort = openPort(1);
print "thread started"
readMsgThread = threading.Thread( target=readMsg(serialPort) )
readMsgThread.setDaemon( True )
readMsgThread.start()
print "sending some data"
serialPort.send('h')
当我执行代码时readMsgThread
,听得很好,但该行print "sending some data"
永远不会执行。有人可以解释我错过了什么吗?我已经被困了一段时间了。
非常感谢你。