windows实现python串口编程

2024-06-18 21:44

本文主要是介绍windows实现python串口编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、windows安装python

Welcome to Python.org

根据windows是64位找到对应的版本下载

下载完后直接安装即可!

 打开cmd查看python版本

$ python --version         #查看版本

二、串口编程

1、安装pyserial库

pyserial是Python中的一个库,用于处理串口通信。

cmd下输入命令,安装pyserial库

$ pip install pyserial

2、pyserial库常用函数介绍

serial = serial.Serial(‘COM1’, 115200)  #打开COM1并设置波特率为115200,COM1只适用于Windows
serial = serial.Serial(‘/dev/ttyS0’, 115200)  #打开/dev/ttyS0并设置波特率为115200, 只适用于Linux
serial.write(“hello”)	#往串口里面写数据
serial.close()     		#关闭serial 表示的串口
serial.open()			#打开串口
data = serial.read(num) #读num个字符
data = serial.readline()#读一行数据,以/n结束,要是没有/n就一直读,阻塞。
serial.baudrate = 9600  #设置波特率
print serial			#可查看当前串口的状态信息
serial.isOpen()			#当前串口是否已经打开
serial.inWaiting()		#判断当前接收的数据
serial.flushInput()     #清除输入缓冲区数据
serial.flushOutput()	#中止当前输出并清除输出缓冲区数据

3、代码实例

重点掌握以下几个api的使用方法:

  • 初始化串口对象:ser=serial.Serial()
  • 打开串口:ser.isOpen()
  • 发送数据:ser.write()
  • 读取数据:ser.read()
  • 关闭串口:ser.close()

下面是串口发送/接收的示例:

import serial
from time import sleepif __name__ == '__main__':ser = serial.Serial('COM25', 9600)	#打开串口if ser.isOpen() :print("open success")else :print("open failed")try:while True:data = input("输入要发送的数据:")ser.write(data.encode('utf-8'))    #发送数据sleep(0.5)                         #延时count = ser.inWaiting()            #判断当前接收的数据if count > 0:data = ser.read(count)print("receive:", data)        #打印接收数据except KeyboardInterrupt:if ser != None:ser.close()                    

4、运行结果:

$ python python_serial.py                #运行python脚本

电脑上接了个串口板,Tx与Rx短接,因此串口能接收到发送的数据,测试OK!

这篇关于windows实现python串口编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073136

相关文章

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

问题-windows-VPN不正确关闭导致网页打不开

为什么会发生这类事情呢? 主要原因是关机之前vpn没有关掉导致的。 至于为什么没关掉vpn会导致网页打不开,我猜测是因为vpn建立的链接没被更改。 正确关掉vpn的时候,会把ip链接断掉,如果你不正确关掉,ip链接没有断掉,此时你vpn又是没启动的,没有域名解析,所以就打不开网站。 你可以在打不开网页的时候,把vpn打开,你会发现网络又可以登录了。 方法一 注意:方法一虽然方便,但是可能会有

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现