Python 实现Serial 与STM32J进行串口通讯


Posted in Python onDecember 18, 2019

Python果然是一款非常简明的语言,做东西非常流畅,今天又尝试了一下用Serial做了一个控制台的串口通讯,我用的下位机是STM32F103,搞了一个多小时就成功了,可见Python的能力之强。

说明几点注意,一是Python在windows下的串口号可以用COM来标注,此时序号从1开始,如果自己单独指定序号,则是从0开始。

另外,如果下位机串口通讯设定的非常简单的话,在Python中只需要设定好串口号和波特率即可,其余的均设为默认值。一般来说在单片机或者是嵌入式系统中的串口通讯基本都不需要设定其余的东西,最多还需要设定一个停止位的位数或者是一帧数据多少位,一般都设定为1位和8位,这也都是Python默认好的。

读取字符串需要注意,向串口发送一个字符串,随后在读回并在PC机上显示出来,需要在发送时就要记录字符串长度,否则会阻塞,串口通信将会失败。反正我是失败了很多次。

__author__ = 'freedom'
 
import serial
port = 0
ser = serial.Serial()
ser.setPort(port)
print ser.portstr
baudrate = 115200
ser.setBaudrate(baudrate)
ser.open()
print ser.isOpen()
print ser
while(1):
  datainput = raw_input("Please input the character:\n")
  n = ser.write(datainput)
  data = ser.read(n)
  print data

以上这篇Python 实现Serial 与STM32J进行串口通讯就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python将mdb数据库文件导入postgresql数据库示例
Feb 17 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
Python语言的变量认识及操作方法
Feb 11 Python
使用tensorflow实现线性回归
Sep 08 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
计算机二级python学习教程(2) python语言基本语法元素
May 16 Python
pandas计数 value_counts()的使用
Jun 24 Python
Python实现微信翻译机器人的方法
Aug 13 Python
Django 批量插入数据的实现方法
Jan 12 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
Django如何使用redis作为缓存
May 21 Python
实现Python与STM32通信方式
Dec 18 #Python
利用pandas将非数值数据转换成数值的方式
Dec 18 #Python
python 浅谈serial与stm32通信的编码问题
Dec 18 #Python
基于numpy中的expand_dims函数用法
Dec 18 #Python
Python.append()与Python.expand()用法详解
Dec 18 #Python
python getopt模块使用实例解析
Dec 18 #Python
pytorch制作自己的LMDB数据操作示例
Dec 18 #Python
You might like
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
解析php框架codeigniter中如何使用框架的session
2013/06/24 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
python连接数据库的方法
2017/10/19 Python
Python装饰器用法示例小结
2018/02/11 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
Python Grid使用和布局详解
2018/06/30 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
2020/07/01 Python
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
仓库管理制度
2014/01/21 职场文书
家长对小学生的评语
2014/01/28 职场文书
土建工程师岗位职责
2014/06/10 职场文书
文明单位申报材料
2014/12/23 职场文书
教师节倡议书2015
2015/04/27 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
导游词之西安骊山
2019/12/03 职场文书