54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
![]() |
# -*- coding: utf-8 -*-
|
||
|
"""
|
||
|
Created on Mon May 27 11:44:23 2024
|
||
|
|
||
|
@author: WANGXIBAO
|
||
|
"""
|
||
|
|
||
|
import serial,datetime
|
||
|
import serial.tools.list_ports
|
||
|
import chardet
|
||
|
|
||
|
# 获取所有串口设备实例。
|
||
|
# 如果没找到串口设备,则输出:“无串口设备。”
|
||
|
# 如果找到串口设备,则依次输出每个设备对应的串口号和描述信息。
|
||
|
ports_list = list(serial.tools.list_ports.comports())
|
||
|
if len(ports_list) <= 0:
|
||
|
print("无串口设备。")
|
||
|
else:
|
||
|
print("可用的串口设备如下:")
|
||
|
for comport in ports_list:
|
||
|
#print(list(comport)[0], list(comport)[1])
|
||
|
print(comport)
|
||
|
ser = serial.Serial()
|
||
|
ser.port = "COM1"
|
||
|
ser.baudrate = 115200
|
||
|
ser.timeout = 0.005
|
||
|
|
||
|
try :
|
||
|
ser.open()
|
||
|
print("串口打开")
|
||
|
while True:
|
||
|
|
||
|
buffer = ser.readline()
|
||
|
if buffer:
|
||
|
# result = chardet.detect(buffer)
|
||
|
# print(result['encoding']) # 输出检测到的编码
|
||
|
data = buffer.decode('utf-8')
|
||
|
nowTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
||
|
nowTime = nowTime[:-3]
|
||
|
print(nowTime,data)
|
||
|
|
||
|
|
||
|
|
||
|
except:
|
||
|
|
||
|
print("串口打开失败")
|
||
|
finally:
|
||
|
ser.close()
|
||
|
print("串口关闭")
|
||
|
|
||
|
|
||
|
|
||
|
|