从MCU

问题描述:

我是新来的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乌斯季想读传入的十六进制值

与此解决它:

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'))