<div dir="ltr">Hi,<div>I try to use twisted for asynchronous serial port read().</div><div><br></div><div>Here is my simple twisted code:</div><div>==========================</div><div><div>from twisted.internet import reactor</div>
<div>from twisted.internet.serialport import SerialPort<br></div><div>from twisted.internet.protocol import Protocol</div><div><br></div><div>class Client(Protocol):</div><div> def connectionMade(self):<br></div><div> print 'connected'</div>
<div><br></div><div> def dataReceived(self, data):</div><div> print data</div><div> <br></div><div>SerialPort(Client(), 'COM4', reactor)</div><div>reactor.callLater(20, reactor.stop())</div><div>reactor.run()</div>
<div><br></div><div>==========================</div><div><br></div><div>It runs on my Mac with this line changed to SerialPort(Client, 'dev/tty.usbserial-A4001mLL', reactor) which is my Arduino board device.</div>
<div><br></div><div>But on Windows XP, it gave the error message:</div><div>"AttributeError: 'module' object has no attribute 'addEvent' "<br></div><div><br></div><div>I tried to used different reactor, such as selectreactor, win32eventreactor, but the error message became "AssertionError: reactor already installed"</div>
<div><br></div><div>Please help. Thanks</div><div><br></div><div><br></div></div></div>