背景:我需要将数值作为字节发送到外部设备,但我遇到了问题。
我的代码是:
ser=serial.Serial("COM3",9600, timeout=0)
ser.write(value)
其中“value”是我读过的一个整数。问题是,当我发送这个时,它发送的是字符值,而不是实际值(它发送数字 5 的字节值 31,因为我相信这是它的 unicode 位置)
实际上,我希望能够向其发送字符“\x05”。我想我的问题是,如何将 int 5 转换为字符“\x05”,或将 37 转换为“\x37”
使用内置函数chr() http://docs.python.org/library/functions.html#chr.
如果您有需要发送的此类整数的列表,您可以考虑使用bytearray() http://docs.python.org/library/functions.html#bytearray.
或者,在较新版本的 Python 中,您可以简单地使用byte
type.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)