安装pip install pyserial
如果报错
控制面板路径,cd到C:\Users\"username"\AppData\Local\Programs\Python\Python310\Scripts
再执行pip install pyserial
注意事项:
不要将文件命名为serial,这和导入包名称相同!
import serial.tools.list_ports
port_list = list(serial.tools.list_ports.comports())
获取可用串口列表:
import serial #导入模块
import serial.tools.list_ports
port_list = list(serial.tools.list_ports.comports())
print(port_list)
if len(port_list) == 0:
print('无可用串口')
else:
for i in range(0,len(port_list)):
print(port_list[i])
运行结果
com = serial.Serial('COM120',115200,timeout=0.2)
print(com)
result = com.write("audio_chime -g 24 /mnt/etc/yesterday.wav\n".encode("ascii"))
print("写总字节数:",result)
发送特殊字符
发送CTRL+C
com.write(chr(0x03).encode())
print(com.read().hex())
TODO:这个只能读一个字符,如果想连续读,需要在while中执行,最好使用线程完成读取任务
com.close()
import threading
#读数代码本体实现
def ReadData(com):
global BOOL
# 循环接收数据,此为死循环,可用线程实现
while BOOL:
if com.in_waiting:
STRGLO = com.read(com.in_waiting).decode("ascii")
#end用于阻断换行
print(STRGLO, end='')
def DReceiveThread(com):
threading.Thread(target=ReadData, args=(com,)).start()