安装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