陳聖文 发表于 2019-1-9 17:58:15

Python 傳輸16進位 異常

小弟在嘗試使用PyThon傳送16進位的0x80
在邏輯分析儀上出現的是...
C2 80
不知道前面那個C2作用
能否將之去除

在此附上PyThon程式碼

import serial
import time
import serial.tools.list_ports
port_list = list(serial.tools.list_ports.comports())
if len(port_list) <= 0:
    print("The Serial port can't find!")   
else:
    port_list_0 =list(port_list)
    port_serial = port_list_0
    ser_0 = serial.Serial(port_serial,115200,timeout = 0.2)   
   
ser_0.write("\x80".encode('utf-8'))
ser_0.flush()
ser_0.close()

dreambox 发表于 2019-1-9 18:02:45

不要用utf-8 编码,0x80用utf-8编码是三个字节

陳聖文 发表于 2019-1-9 18:11:52

dreambox 发表于 2019-1-9 18:02
不要用utf-8 编码,0x80用utf-8编码是三个字节

嘿嘿
那有推薦的編碼嗎?

XIVN1987 发表于 2019-1-9 18:13:57

用latin-1编码

陳聖文 发表于 2019-1-9 18:17:47

XIVN1987 发表于 2019-1-9 18:13
用latin-1编码

感謝解答
小弟嘗試半天都沒成功

dukelec 发表于 2019-1-9 18:52:00

陳聖文 发表于 2019-1-9 18:17
感謝解答
小弟嘗試半天都沒成功

直接發送 b"\x80"

前面加 b

陳聖文 发表于 2019-1-10 09:36:43

dukelec 发表于 2019-1-9 18:52
直接發送 b"\x80"

前面加 b

這樣也行
酷~
成功了

ser_0.write(b"\x80")

dongwang_fl 发表于 2019-1-10 14:07:59

竟然还能用串口。学习了。
页: [1]
查看完整版本: Python 傳輸16進位 異常