gpt4 book ai didi

hex - pySerial 从 MCU 读取十六进制值

转载 作者:行者123 更新时间:2023-12-01 22:16:24 26 4
gpt4 key购买 nike

我是 python 的新手,我正在使用 2.7 和 spyder

我有一个运行这个的 anduino 风格的板子:

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

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

在我的笔记本电脑上,我无法读取传入的数据,也无法将其分配给变量:

# -*- 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 崩溃时,我真的不明白我做错了什么我只想读取传入的十六进制值

最佳答案

用这个解决了:

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

希望对你有用现在我想了解为什么 pyserial 经常崩溃

编辑:升级到 python 3.x 解决了所有使用 pyserial 崩溃的问题而且语法也变得更加清晰

in_bin = ser.read()
in_hex = hex(int.from_bytes(in_bin,byteorder='little'))

关于hex - pySerial 从 MCU 读取十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45505958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com