安装pyserial
1
|
pip install pyserial
|
查看可用的端口
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# coding:utf-8
import serial.tools.list_ports
plist = list (serial.tools.list_ports.comports())
if len (plist) < = 0 :
print ( "没有发现端口!" )
else :
plist_0 = list (plist[ 0 ])
serialName = plist_0[ 0 ]
serialFd = serial.Serial(serialName, 9600 , timeout = 60 )
print ( "可用端口名>>>" , serialFd.name)
|
所发十六进制需转换为以下格式
1
2
|
# 所发十六进制字符串010591F50000F104
cmd = [ 0x01 , 0x05 , 0x91 , 0xF5 , 0x00 , 0x00 , 0xF1 , 0x04 ]
|
串口通信
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
Windows下端口为COM * , Ubuntu下为 / dev / ttyS0
import serial
class Ser( object ):
def __init__( self ):
# 打开端口
self .port = serial.Serial(port = 'COM4' , baudrate = 9600 , bytesize = 8 , parity = 'E' , stopbits = 1 , timeout = 2 )
# 发送指令的完整流程
def send_cmd( self , cmd):
self .port.write(cmd)
response = self .port.readall()
response = self .convert_hex(response)
return response
# 转成16进制的函数
def convert_hex( self , string):
res = []
result = []
for item in string:
res.append(item)
for i in res:
result.append( hex (i))
return result
|
以上这篇Python使用pyserial进行串口通信的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/log1100/article/details/54380325