raspberry pi上的“ValueError:负计数返回字节(bytearray(seq))”

2024-06-26 00:23:53 发布

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

我想从一个树莓圆周率发送一个负字符串到一个arduino,在raspis cmd上得到了这个错误:

Traceback (most recent call last):
  File "program.py", line 363, in <module>
    ser.write(LinePosLastLoop[6])
  File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 532, in write
    d = to_bytes(data)
  File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 66, in to_bytes
    return bytes(bytearray(seq))
ValueError: negative count

节目:

value = str(linePos).encode()

value = int(float(value))

LinePosLastLoop[6] = value

ser.write(LinePosLastLoop[6])

我试图尽可能缩短我的程序,使其更容易理解,但如果我遗漏了什么或有什么不清楚的地方,请发表评论,我将提供您需要的所有信息。 谢谢你可能的答案


Tags: inpybytesvaluelibpackagesusrdist
1条回答
网友
1楼 · 发布于 2024-06-26 00:23:53

错误是

LinePosLastLoop[6]

是在通过uart发送之前必须转换为字节的字符串。因此,要修复此错误,只需更改

ser.write(LinePosLastLoop[6])

ser.write(str(LinePosLastLoop[6]/10).encode())

我希望我能帮助更多的读者

相关问题 更多 >