# -*- coding: utf-8 -*-
# TODO 串口读取数据
import serial # 导入串口包
import time # 导入时间包
com_name = "COM100"
ser = serial.Serial(com_name,115200,timeout = 0.5) # 开启com1口,波特率115200,超时0.5s
ser.flushInput() # 清空缓冲区
def main():
while True:
count = ser.inWaiting() # 获取串口缓冲区数据
if count !=0 :
data = (bytes)(ser.read(ser.in_waiting)) # 读进来之后,赋予的类型是Bytes
len_recv = len(data)
print("[",time.time(),"]Len>>",len_recv)
print("Data>>",str(data) ) ##打印收到数据
ser.write( data ) #收到的数据发出去
time.sleep(0.2) # 延时0.2秒,免得CPU出问题(线程占满时间片)
if __name__ == '__main__':
print("waiting receive uart [",com_name,"] data(GBK Format)...")
main()
04-18
1677