天天看点

python串口助手

  最近项目中要使用模拟数据源通过向外发送数据,以前都是用C#编写,最近在研究python,所以就用python写了一个串口助手,方便以后的测试。

       在电脑上通过虚拟串口助手产生两个虚拟串口,运行编写的串口助手

python串口助手

另外,打开一个串口调试助手,辅助测试

python串口助手

  两者互发数据,可以看到编写的串口助手能够正常接收发送,并且在后台我们也把接收到的数据打印了出来

python串口助手
python串口助手

下面先讲解关于界面的代码,这里只是简单的使用tkinter做界面,如果想要更好的界面效果,可以尝试一下QT。

首先是界面中串口设置区域的代码,界面布局统一用grid来布局,当然也有其他的布局方法

接下来是串口号的combobox的设置,其中serialPortFile.GetCom()是获取所有串口号的函数,接下来会讲解

以上就是界面相关的代码,最终效果也就是上图显示的效果,很简单。接下来介绍python串口的逻辑代码部分。在另外一个模块中serialPortFile.py

获取电脑中所有的串口号的函数,注意这里通过serial.tools.list_ports.comports()获取所有的串口号之后进行了一步转换,存在一个数组中,这样,传入serial中才能被识别。

串口打开关闭函数,串口打开之后创建了一个线程threading,线程中一直监视串口的状态,一旦接受到数据,就把数据显示到接受数据显示框中。有关python线程threading的内容可以在我的公众号,洛水梅家中查看。

注意在代码中加了一个if ser.is_open:的条件判断,不加入这个条件的话,很有可能重复打开串口而报错误。

同时在按键Button的状态也随着串口的开关状态而变化。

上面就是关于串口助手的所有代码介绍,更多详细内容,关注公众号 洛水梅家 免费获取源码

后台回复python_com,免费获取源码

python串口助手