Python串口如何解码为字符串

2024-09-28 19:02:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python串行模块尝试读取旋转编码器。我收到了一些东西,但我不确定它是什么

当不转动编码器时,我得到以下字节:

b'y\xf6\xf6\xf6\xf6\x16\xd6\x16\xb6\xd6\x06\x00'

当我转动编码器时,会得到更长的字节序列:

b'y\xf6\xf6\xf6\xf6\x16\x96\x16\xb6\xb6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16\xb66\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16v\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16Vv\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16V\x16\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x166V\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\x16\xf6\x96\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xf6\xd6\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xf6\x966\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xf6V\xf6\x06\x00y\xf6\xf6\xf6\xf6\x16\x96\xd6\xd6\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6\xd6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x16v\xd6\xd6v\x06\x00y\xf6\xf6\xf6\xf6\x16v\xb6\xb6\x16\x06\x00y\xf6\xf6\xf6\xf6\x16v\x96\xb6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x16vv\xd66\x06\x00y\xf6\xf6\xf6\xf6\x16vV\x96\xd6\x06\x00y\xf6\xf6\xf6\xf6\x16v6v6\x06\x00y\xf6\xf6\xf6\xf6\x16v\x16\x96\x16\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6\xd6V\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6v\x96\x06\x00y\xf6\xf6\xf6\xf6\x16v\xf6\xf6\xb6\x06\x00y\xf6\xf6\xf6\xf6\x16v\xd6vV\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\xd6v\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\xd6V\x06\x00y\xf6\xf6\xf6\xf6\x16V\xb6\xd6V\x06\x00y\xf6\xf6\xf6\xf6\x16V\x96v\xb6\x06\x00y\xf6\xf6\xf6\xf6\x16Vvvv\x06\x00y\xf6\xf6\xf6\xf6\x16VV\x966\x06\x00y\xf6\xf6\xf6\xf6\x16V6v\x16\x06\x00y\xf6\xf6\xf6\xf6\x16V\x16vv\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\xf66\x06\x00y\xf6\xf6\xf6\xf6\x16V\xf6\x16\xb6\x06\x00y\xf6\xf6\xf6\xf6\x166\xf6\xd66\x06\x00y\xf6\xf6\xf6\xf6\x166\xd6\x96v\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xd6\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xf6\x06\x00y\xf6\xf6\xf6\xf6\x166\xb6\xf6\xf6\x06\x00'

我使用的python代码是:

import serial

ser = serial.Serial(
        port='/dev/ttyAMA0',
        baudrate = 9600,
        #parity=serial.PARITY_NONE,
        #stopbits=serial.STOPBITS_ONE,
        #bytesize=serial.EIGHTBITS,
        timeout=1
)
cnt = 0
while 1:
    try:
        x=ser.readline()
        print(x)
        cnt += 1
    except Exception as e:
        print(e)

我也试过x.decode()x.decode(“utf8”)x.decode(“utf16”)32和拉丁语1。老实说,我只是不明白我在看什么。任何帮助都将不胜感激


Tags: 字节serial编码器decodexf6x06x16x96