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的发展史
Sep 26 Python
Python实现求两个csv文件交集的方法
Sep 06 Python
Python面向对象编程之继承与多态详解
Jan 16 Python
python三引号输出方法
Feb 27 Python
对python 树状嵌套结构的实现思路详解
Aug 09 Python
简单分析python的类变量、实例变量
Aug 23 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
Python关于__name__属性的含义和作用详解
Feb 19 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
利用Python实现模拟登录知乎
May 25 Python
Python可视化神器pyecharts绘制水球图
Jul 07 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
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
Python模块搜索路径代码详解
2018/01/29 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
职业生涯规划怎么写
2013/12/29 职场文书
探亲假请假条
2014/04/11 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
公务员个人年终总结
2015/02/12 职场文书
2016中秋节广告语
2016/01/28 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
vue实现简易音乐播放器
2022/08/14 Vue.js