2017-08-28 46 views
1

我需要编写使用HART协议的COM端口。 我需要在端口写入的单词是ISO 8859-1格式。 我试着用pyvisa,但我得到一个错误(像这些字符:YYYYY)......我想是因为他们不是标准的ASCII。 我现在可以做什么?我应该去另一个软件包写在COM端口上吗?的Python:写入COM在ISO 8859-1

有什么建议吗?

回答

1

如果使用pyserial,您可以使用“Latin1的”编码,而不是标准的“UTF-8”。 RX看起来像:

inpchar = comXX.read().decode("Latin1",'ignore') 

TX的样子:

Text = "-273\xb0C\n" ## will print "-273°C\n" 
comXX.write(Text.encode("Latin1")) 

这部作品pyserial 3.x中,不知道2.x版本(更新)我只是在我的构建机器上运行这个,打印在Python 3.4上失败,但在Python 3.6.2上工作。读取()解码似乎工作正常,但打印失败...我nukin python 3.4并放在3.6.2,和pyserial的新鲜下载,工作正常。 3.6.2和pyserial 3.4的全新安装可以正常工作。