我想永久地检查连接vie COM端口,我已经找到了here如何检查连接,但是当我将它实现到我的应用程序以检查设备是否连接时,我没有达到预期的结果,也许是因为我每秒钟都在用QTimer检查它,但也许它只在通电期间第一次正常。。在
希望代码能更容易理解。在
所以,我打开端口:
import serial
global ser
from PyQt5.QtCore import QTimer
timer = QTimer()
def setting_COMPort():
global ser
ser = serial.Serial(
port='/dev/ttyAMA0',
baudrate = 115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1)
timer.timeout.connect(self.statusComPort)
在“main”函数中有QTimer
^{pr2}$在slot statusComPort中,我想通过QTimer每秒检查设备是否连接。在
def statusComPort(self):
global ser
colorr=self.palette()
if(ser.isOpen()):
self.lineEdit_6.setText(str("Port is open!"))
print("Port is Open")
colorr.setColor(self.backgroundRole(), QtGui.QColor(155,155,155))
self.setPalette(colorr)
else:
self.lineEdit_6.setText(str("Error! Port is close!"))
colorr.setColor(self.backgroundRole(), QtGui.QColor(155,0,5))
self.setPalette(colorr)
print("Port is close")
万一失去连接,我会改变我窗户的颜色。问题是在link中建议的应用解决方案在这种情况下不起作用。在
那么,我应该在我的位置上做些什么来获得结果呢。。?在
可能使用不同的函数,而不是isOpen()?在
操作系统-Raspbian
更新1
链接到项目,除了需要的功能外,所有内容都被剪切 https://github.com/ivanwolodin/statusofcomport
总结一下。 我有一个Qtimer,它每秒都在运行,所以我的应用程序每秒钟都会进入“statusComPort”插槽,在那里我想检查设备是否通过串行端口连接。所以我想永久地(每秒钟)检查我的串行端口的状态,问题是:我应该如何编写这个插槽来实现正确的检查
目前没有回答
相关问题 更多 >
编程相关推荐