我正在尝试让Lego Mindstorms NXT通过蓝牙通讯将诸如文本或数字之类的数据发送到计算机。我正在使用blueNXT模块here发送和接收数据。我可以完美地发送数据,但是当我尝试接收NXT发送到计算机的数据时,即使多次发送数据之后,PySerial缓冲区也始终为空。我在Google上搜索了很多,但是找不到答案或使用Python 3连接到NXT的替代方法。我检查了该命令是否正确。这是我的代码:

from blueNXT import Blue
b = Blue(30) # comport number
input('press enter to go')
print(b.s.inWaiting()) # tell me how many bytes are in the buffer
b.close() # close connection


我在Windows 7 32bit上使用Python 3.2。
任何帮助将不胜感激。谢谢!

编辑:我认为这是我的错,我需要将NXT作为主机,将计算机作为从机,反之亦然。

最佳答案

b.s.flushInput()丢弃缓冲区的内容。因此,当您调用b.s.inWaiting()时,缓冲区为空。

09-16 05:42