python – Pyserial:打开之前如何知道串口是否空闲
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Pyserial:打开之前如何知道串口是否空闲,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1129字,纯文字阅读大概需要2分钟。
内容图文
我使用Pyserial的python来使用串口,??代码如下:
import serial
portName = 'COM5'
ser = serial.Serial(port=portName)
# Use the serial port...
但是,问题是,如果端口已经打开(例如另一个应用程序),当我尝试打开它时会出现错误:“SerialException:无法打开端口’COM5’:WindowsError(5,’Access is否认.’)”.
我想知道我是否可以在尝试打开端口之前打开端口以避免此错误.我想使用一种条件,只有在我能够:
import serial
portName = 'COM5'
if portIsUsable(portName):
ser = serial.Serial(port=portName)
# Use the serial port...
编辑:
我找到了一种方法:
import serial
from serial import SerialException
portName = 'COM5'
try:
ser = serial.Serial(port=portName)
except SerialException:
print 'port already open'
# Use the serial port...
解决方法:
def portIsUsable(portName):
try:
ser = serial.Serial(port=portName)
return True
except:
return False
如评论中所述,在开启和关闭的情况下注意竞争条件……
也可能更好的方法是返回串行对象或None
def getSerialOrNone(port):
try:
return serial.Serial(port)
except:
return None
[编辑]我故意将除外作为一个全能,因为我认为实际的失败并不重要.因为无论错误如何,该端口都不可用…因为该函数正在测试端口的可用性,所以为什么你得到一个异常并不重要,只有你有异常.
内容总结
以上是互联网集市为您收集整理的python – Pyserial:打开之前如何知道串口是否空闲全部内容,希望文章能够帮你解决python – Pyserial:打开之前如何知道串口是否空闲所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。