0

我正在使用 PySerial(用于串行通信的 Python API)通过蓝牙向诺基亚手机发送 AT 命令。

import serial
com = serial.Serial()
com.port = 19
com.timeout = 0 #also tried a timeout value greater than 0.
try:
    com.open()
    # at this point I turn off the phone.
    com.write("AT\r\n")
    print com.readlines()
except SerialException, e:
    print e

就在我 open() com 之后,我关掉了手机。然后,我写(“AT\r\n”)。此时,功能块和运行时挂起。

你有什么解决办法吗?

4

2 回答 2

0

将 timeout 设置为0,您可以停用 timeout 参数,这read()/readlines()将成为阻塞调用。呼叫者将被阻止,直到设备应答。尝试为您的串行连接设置一个非零超时值com = serial.Serial(timeout=0.5)

如果它仍然挂起,则问题应该出在蓝牙堆栈中。

于 2011-06-01T07:48:13.610 回答
-1

实际上,您正在寻找的是 writeTimeout 而不是 timeout 参数。迟到的答案,我知道,但我仍然需要它,我想我不是唯一的一个。

于 2013-09-11T10:46:28.177 回答