Python实现串口
0赞
发表于 2015/3/15 20:45:45
阅读(5694)
晚上花了一点时间,用python实现了一个简单的串口调试助手。我使用的python版本是3.4.
要用python实现串口,首先要装一个pserial模块。下载地址如下:
https://pypi.python.org/pypi/pyserial
就下第一个就好了
将下下来的压缩包解压。然后打开终端。进入到解压的目录下面
下面有一个setup.py的文件。
然后输入命令
模块就自动安装了。
然后就开始写程序了。程序很简单,我这里还加入了点小界面。界面用的是easygui模块来写的。
关于easygui,可以看看小甲鱼的网站,介绍得很详细。
代码
import serial from easygui import * com_choices = ('com1','com2','com3','com4','com5','com6','com7') baud_choices = ('115200','256000') com = choicebox(msg='请选择COM口',title='COM端口选择',choices=com_choices) baud = choicebox(msg='请选择波特率',title='波特率选择',choices=baud_choices) ser = serial.Serial(com) #设置com端口 ser.setBaudrate(baud) #设置波特率 ser.setByteSize(8) #设置数据位宽 ser.setStopbits(1) #设置停止位 while(1): s = enterbox(msg='请输入发送的内容,按发送键发送',title='串口发送助手',\ strip=True,default='@') #得到发送的内容 print('发送的内容是:',s) length = len(s) if s == '@': break ser.write(s.encode()) s = ser.read(length) print('读取的内容是:',s) ser.close()
从代码可以很简单的看出,serial模块是怎么用的。
主要是调用那几个函数。
还有一个函数ser.isOpen() 是检测串口是否打开的,打开为True,没有打开为False。
这里要注意,发送数据是用ser.write(s)。 s是发送的字符串数据,记得后面要有encode()。不然程序会报错。
下面是程序执行演示图:
选择com端口的界面
选择波特率的界面
发送数据和接收数据
因为easygui模块,暂时我还不会怎么把多个合在一个界面,所以就只能一个界面一个界面的输出,有点别扭。不过功能可是能实现的。
用python实现串口确定简单多了,比VC都还要简单。就只需要pyserial模块,调用相应的函数即可了。