python串口操作

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python串口操作相关的知识,希望对你有一定的参考价值。

通过引用serial模块包,来操作串口。api见https://pyserial.readthedocs.io/en/latest/tools.html#serial.tools.list_ports.ListPortInfo

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()

windows下

import serial
import serial.tools.list_ports

plist = list(serial.tools.list_ports.comports())

if len(plist) <= 0:
    print("The Serial port can't find!")
else:
    for item in plist:
        print(item.name)
        print(item.device)
        print(item.name)
        print(item.description)
        print(item.hwid)
        print("%x" % item.vid)
        print("%x" % item.pid)
        print(item.serial_number)
        print(item.location)
        print(item.manufacturer)
        print(item.product)
        print(item.interface)

以上是关于python串口操作的主要内容,如果未能解决你的问题,请参考以下文章

python对串口蓝牙模块的操作

Python 操作串口

python3操作串口

1-python库之-serial串口操作

python串口操作

python 学习——串口操作