003、Python3字符串轉成相應的16進制方法(FF---0xFF)


參考資料:https://blog.csdn.net/baidu_37503452/article/details/121506783

 

data_str = '0102030405060708090a0b0c0d0e0f'
data_bin = bytes(bytearray.fromhex(data_str))
print(data_str)
print(data_bin)

執行結果如下:

D:\WorkSpace\Code_Space\Arduino_python\day20220328\venv\Scripts\python.exe D:/WorkSpace/Code_Space/Arduino_python/day20220328/demo11.py
0102030405060708090a0b0c0d0e0f
b'\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'

Process finished with exit code 0

 

實例代碼1:

from time import sleep
import serial

# 獲取充電盒軟件版本指令:EF 02 31 22

send_list = []

d1 = 0xef
send_list.append(d1)

d2 = 0x02
send_list.append(d2)

d3 = 0x31
send_list.append(d3)

d4 = 0x22
send_list.append(d4)

input_s = bytes(send_list)
print(input_s)



serialPort = "COM28"  # 串口
baudRate = 115200  # 波特率
ser = serial.Serial(serialPort, baudRate, timeout=1)
print("參數設置:串口=%s ,波特率=%d" % (serialPort, baudRate))

print("====休眠5秒=======")
sleep(5)
# 發送指令
ser.write(input_s)

sleep(1)
print("發送指令后的返回結果")
num = ser.inWaiting()
if num > 0:
    data = ser.read(num)
    num = len(data)
    # hex顯示
    out_s = ''
    for i in range(0, len(data)):
        out_s = out_s + '{:02X}'.format(data[i]) + ' '

    print(f"返回結果為:{out_s}。")


ser.close()
print("end")

 

 

實例代碼2:

from time import sleep
import serial

# cmd_str = 'EF023223'        # 獲取充電盒當前溫度
cmd_str = 'EF023122'        # 獲取充電盒軟件版本
# cmd_str = 'EF023021'        # 獲取充電盒硬件版本
# cmd_str = 'EF02A697'        # 獲取充電盒PCBA SN號
# cmd_str = 'EF023324'        # 獲取充電盒固件FW_Checksum
# cmd_str = ' EF02B2A3'        # 獲取充電盒機身鐳雕碼編號



input_s = bytes(bytearray.fromhex(cmd_str))
print(input_s)




serialPort = "COM28"  # 串口
baudRate = 115200  # 波特率
ser = serial.Serial(serialPort, baudRate, timeout=1)
print("參數設置:串口=%s ,波特率=%d" % (serialPort, baudRate))

print("====休眠5秒=======")
sleep(5)
# 發送指令
ser.write(input_s)

sleep(1)
print("發送指令后的返回結果")
num = ser.inWaiting()
if num > 0:
    data = ser.read(num)
    num = len(data)
    # hex顯示
    out_s = ''
    for i in range(0, len(data)):
        out_s = out_s + '{:02X}'.format(data[i]) + ' '

    print(f"返回結果為:{out_s}。")
    print(type(out_s))


ser.close()
print("end")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM