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