python usb 复位_Python代码:设备上的ttyUSB0重新连接到ttyUSB1如何检测?

我有一个FTDI设备可以连接到ttyUSB0。拔下并重新插入后,设备始终连接到ttyUSB1。我必须检测到变化并相应地采取行动,以保持send和recv函数的运行。我试图在send和recv函数中检测到它。以下是我所做的:`

def recv_serial_data(n):

global serial_port

try:

if not serial_port.isOpen():

serial_port = serial.Serial('/dev/ttyUSB1', 115200, 0.05)

data = serial_port.read(n)

tmp = []

for c in data:

tmp.append(ord(c))

print data

return tmp

except Exception, e:

raise Exception("recv_serial_data: " + str(e))

def send_serial_data(data):

print data,type(data)

global serial_port

try:

if not serial_port.isOpen():

serial_port.close()

serial_port = serial.Serial('/dev/ttyUSB1', 115200, 0.05)

if not isinstance(data, basestring):

data = array.array("B",data).tostring()

serial_port.write(data)

elif isinstance(data, basestring):

serial_port.write(data)

except Exception, e:

raise Exception("send_serial_data: " + str(e))

return

def main():

#[Doing stuff]

global serial_port

#options.serial_port is '/dev/ttyUSB0'

serial_port = serial.Serial(options.serial_port, options.baudrate, timeout=options.tty_timeout)

#[Doing stuff]

serial_port.close()

if __name__ == "__main__":

main()

`

我现在得到的是一些消息,比如“recv_serial_data:device reports ready to read but return no data”(设备断开连接或端口上有多个访问?)”或“发送串行数据:写入失败:[Errno 5]输入/输出错误”

只要我不拔掉这个设备,一切都会顺利进行。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值