2

メインスレッドが何らかの操作を行っている間に、COMシリアルポートからの着信データをリッスンする1つのスレッドを作成しようとしています。

これが私のコードです(簡潔にするために一部のコードは省略されています):

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"は実行されません。誰かが私が欠けているものを説明してもらえますか? 私はしばらくこれで立ち往生しています。

どうもありがとうございます。

4

1 に答える 1