2017-08-28 47 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的全新安裝可以正常工作。