python/PyUartAssistant/testSerical.py

54 lines
1.2 KiB
Python
Raw Permalink Normal View History

2024-07-03 12:01:11 +08:00
# -*- 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("串口关闭")