我需要打开串口设备的端口,但如果没有打开或有异常,它必须不断尝试打开门,直到它打开。 Python 2.7.3过了一会儿我得到了这个错误:
“RuntimeError:调用Python时超出了最大递归深度 对象“
你能帮助我吗?
我的代码:
def opendisplay():
try:
lcd = serial.Serial(
port='/dev/display',
baudrate=9600,
timeout=0,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
except Exception, e:
print "Error! can't connect to display Lcd check USB-Serial \n" + str(e)
opendisplay()
return lcd
dsp=opendisplay()
答案 0 :(得分:0)
正如Martin / Shadow所说,循环而不是递归:
def opendisplay():
while True:
try:
# Try to connect
lcd = serial.Serial(...)
return lcd
except Exception as e:
# Connection failed
print "Error! etc"
time.sleep(1)
如果您想继续尝试一分钟,可以使用for _ in range(60)
代替