Skip to main content
 首页 » 编程设计

python之计算机似乎从不接收通过 com 端口发送给它的数据

2025年05月04日8mq0036

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

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 32 位上使用 Python 3.2。 任何帮助将不胜感激。谢谢!

编辑:我认为这是我的错,我需要将 NXT 作为主机,将计算机作为从机,而不是相反。

请您参考如下方法:

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