使用python3实现操作串口详解

yipeiwu_com6年前Python基础

通过引用serial模块包,来操作串口。

1、查看串口名称

在Linux和Windows中,串口的名字规则不太一样。
需要事先查看。

Linux下的查看串口命令

root@D2:~# ls -l /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 Dec 26 06:53 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Dec 26 06:41 /dev/ttyS1
crw--w---- 1 root tty     4, 66 Dec 26 06:41 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Dec 26 06:41 /dev/ttyS3

windows下查看串口命令

在电脑的“设备管理器”中的“通用串行总线控制器”里查看。可以看看COM7这种字样的就是了。

2、先安装serial模块包

pip install pyserial

3、操作

有两种设置串口的方式:

方式一:

import serial

# 连接
# linux
ser = serial.Serial('/dev/ttyS0', 9600, timeout=0.2)
# windows
# ser = serial.Serial('COM7', 9600, timeout=0.2)

# 接收返回的信息
while True:
  recv = ser.readline()
  print(str(recv))
  if str(recv) == 'q':
    break

方式二:这个是可以关闭串口的

import serial

# 连接
ser = serial.Serial()
ser.port = '/dev/ttyS0'
ser.baudrate = 9600
ser.timeout = 0.2
ser.open()

# 接收返回的信息
while True:
  recv = ser.readline()
  print(str(recv))
  if str(recv) == 'q':
    break
ser.close()

相关文章

python分治法求二维数组局部峰值方法

python分治法求二维数组局部峰值方法

题目的意思大致是在一个n*m的二维数组中,找到一个局部峰值。峰值要求大于相邻的四个元素(数组边界以外视为负无穷),比如最后我们找到峰值A[j][i],则有A[j][i] > A[j...

Python学习笔记基本数据结构之序列类型list tuple range用法分析

本文实例讲述了Python学习笔记基本数据结构之序列类型list tuple range用法。分享给大家供大家参考,具体如下: list 和 tuple list:列表,由 []...

python操作文件的参数整理

open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用...

对python以16进制打印字节数组的方法详解

对python以16进制打印字节数组的方法详解

一、问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼。 二、运行效果 上面一行是直接用print打印的结果,很明显,第一个字节0x7...

Python list与NumPy array 区分详解

1. 数据类型 type() #!/usr/bin/env python # -*- coding: utf-8 -*- # Yongqiang Cheng from __fut...