python串口讀寫,以16進制保存文件

python串口讀寫,以16進制保存文件

需要使用pyserial庫,所以先安裝:

pip install pyserial

import serial

def bytes2Hex(argv):        #十六進制顯示 方法1
    try:
        result = ''  
        hLen = len(argv)  
        for i in range(hLen):  
            hvol = argv[i]
            if hvol == 0xfe:    #遇到0xfe換行
                result += '\r\n'
            hhex = '0x%02x,'%hvol #轉爲0xff,
            result += hhex
    except:
        pass
    return result

def read_com():
    portx = "COM7"
    bps = 115200
    try:
        ser = serial.Serial(portx, bps)
        print("串口詳情參數:", ser)
        f = open('test.txt','w') 
        begin = b'\xfe\xe1\x04\x00\xc0' #發送內容
        ser.write(begin)                #串口寫數據
        while ser.isOpen():
            num = ser.inWaiting()   #查詢串口接收字節數據,非阻塞
            if num:
                line = ser.read(num)
                content = bytes2Hex(line)
                f.write(content)
                print(content)
    except:
        pass
    finally:
        end = b'\xfe\xe9\x04\x00\x00'
        ser.write(end)
        ser.close()
        f.close()

if __name__ == "__main__":
    read_com()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章