0

这似乎应该很简单,但我一直无法弄清楚......

我正在尝试使用PySerial与微控制器通信。我想发送一个索引位置,但是当我发送它时,PySerial 发送数字的 ASCII(所以当我发送 0 时,它发送 48)。

我知道对于 Python26 及更高版本,我只需将数字与内置字节函数括起来,如下所示:

self.index = bytes([index])

但是,Python25 没有这个功能。我找不到任何建议等效的文档。有人知道我应该怎么做吗?

提前致谢!

编辑:对不起,这是我的代码的简化版本......

class SecondaryImage():
    def __init__(self, index):
        self.index = index
    def sendIndex(self):
        serial.write(self.index)

for i in range(64):
    img = SecondaryImage(i)
    imgs.append(img)

然后我会分别调用 sendIndex() -

imgs[2].sendIndex()
4

3 回答 3

2

chr是内置的,它将您发送的序数的字符。

于 2011-01-28T20:31:43.240 回答
1

串行以 ascii 通信,因此您想使用chr将数字转换为它们的 ascii 字符等价物。

于 2011-01-28T20:34:50.093 回答
0

您是否尝试过 binascii 模块?

http://docs.python.org/release/2.5.4/lib/module-binascii.html

于 2011-01-28T20:37:01.680 回答