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

yipeiwu_com6年前Python基础

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之修改图片像素值的方法

在做语义分割项目时,标注的图片不合标准,而且类型是RGBA型,且是A的部分表示的类别,因此需要将该图片转化为RGB图片 # -*- coding:utf8 -*- import os...

Python实现把数字转换成中文

周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用。 #!/usr/bin/python #-*...

详解Python中的type和object

详解Python中的type和object

type  所有类是type生成的 a = 1 b = "abc" print("type a:{}".format(type(a))) print("type int:{...

Python实现读取txt文件中的数据并绘制出图形操作示例

Python实现读取txt文件中的数据并绘制出图形操作示例

本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作。分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据。 6.1101,17.592 5.5277,9.1...

python实现将元祖转换成数组的方法

本文实例讲述了python实现将元祖转换成数组的方法。分享给大家供大家参考。具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成...