Python 实现Serial 与STM32J进行串口通讯
时间:2022-11-08 09:50:25|栏目: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