從MCU

2017-08-04 67 views
0

我是新來的Python pySerial閱讀十六進制值,我使用2.7使用Spyder的從MCU

我有一個anduino風格板運行以下命令:

void setup() { 
    Serial1.begin(115200); 
} 

void loop() { 
    Serial1.write(0x80); 
} 

在我的筆記本我不能夠閱讀輸入數據既不我能夠把它assing變量:

# -*- coding: utf-8 -*- 
import serial 
print (serial.__version__) 
#3.4 
ser = serial.Serial(
    port='/dev/ttyUSB1', 
    baudrate=115200, 
    parity=serial.PARITY_NONE, 
    stopbits=serial.STOPBITS_ONE, 
    bytesize=serial.EIGHTBITS, 
    timeout = None 
    #timeout = 1 
) 

while 1: 
    print ser.read() 
    a = ser.read() 
    print a 

我真不明白我在做什麼錯了,當我嘗試分配ser.read()爲「A」的Spyder崩潰 IJ烏斯季想讀傳入的十六進制值

回答

0

與此解決它:

print hex(int(a.encode('hex'), 16)) 

我希望這可能是有用的 現在我想明白爲什麼pyserial崩潰經常

編輯:升級到python 3.x解決了所有與pyserial 墜毀,也sintax變得更加清晰

in_bin = ser.read() 
in_hex = hex(int.from_bytes(in_bin,byteorder='little')) 
相關問題