实现效果:
Python端运行的时候打开COM3,然后准备从键盘获取数据,并发送,同时接收串口调试助手COM1发送过来的数据
Python端:
串口调试助手:
串口调试助手使用COM1,能显示Python端发过来的数据,当点击发送的时候,Python端暂时不会显示,因为Python端的读取键盘那个方法是堵塞的,当Python端发送的时候才同时把数据显示出来(如果想一发送就显示,就把读取键盘的那句代码注释掉就可以了):
由于我不是很专业,所以我尽量用我自己理解的语言讲解,可以跟我一起操作。
一、前期准备工作。
1、安装pyserial(类似于java的库,用于调串口函数)
2、安装VSPD(因为没有硬件,用这个虚拟串口)
1、由于我用的是win7 64位,无法安装pyserial-2.7.win32.exe,所以参考了
的办法,安装源码,简单介绍一下,
(1)将你电脑安装的Python程序目录放入系统的path路径
开始菜单->右键计算机->属性->高级->环境变量->系统变量
在系统变量里找到PATH,双击PATH,在结尾加上 “;D:\Python27”(D:\Python27是你的Python安装目录,不要引号)
(2)解压下载的源文件
点击https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df83ef2290de0d18803dd11下载,然后随便解压到某个目录下,在这个目录下按shift+右键空白处可以直接调出cmd,然后在命令行输入
python setup.py install
2、VSPD在西西下载就好了,百度一下什么都有,安装也不麻烦,不赘述。
二、软件操作
VSPD上把COM1和COM3的TXRX互相短接起来,具体操作就是在右边选择First port是COM1,Second port是COM3,顺序无所谓,然后点击Add pair就可以了,然后左边会显示出来,要删除的话选中COM,点右边下面那个删除(一般是这个串口被卡住了才这么干)。
三、代码
Python的代码基本上我也是百度来的,由于很简单,就像我们沟通思路一样,直接就写出来了,所以随便找个目录,右键新建文本文档,改名为xxx.py,然后保存退出,右键这个文件,Edit with IDLE(如果没有就去Python官网下载Python安装),输入如下内容:
# -*- coding: utf-8 -*-
import serial
#打开串口
serialPort="COM3" #串口
baudRate=9600 #波特率
ser=serial.Serial(serialPort,baudRate,timeout=0.5)
print "参数设置:串口=%s ,波特率=%d"%(serialPort,baudRate)
#收发数据
while 1:
str = raw_input("请输入要发送的数据(非中文)并同时接收数据: ")
ser.write((str+'\n').encode())
print(ser.readline())#可以接收中文
ser.close()
按F5运行即可