0
我正通過rs232與電源進行通信。嘗試在Python中使用串行.write中的字符串變量
port.write("\x31")
,但如果不是我有一個字符串變量
teststring='"\\x31"'
(打印出的「\ X31」)
和:當我發送比如我可以溝通沒有問題我嘗試:
port.write(teststring)
它不發送命令到供應。我曾嘗試:
port.write(bytes(teststring,'utf-8'))
和
port.write(teststring.encode('utf-8'))
但它仍然是有點不發送同樣作爲剛剛進入文本。我需要能夠改變這個變量,所以我不能只編寫文本。 任何幫助表示讚賞!
使用下面的評論,我現在用的整數
testint = 31 ,如果我打印
CHR(testint)我在頂行和1F中得到一個奇怪的盒子00底部。我現在需要做的就是將31轉換爲0x31,所以我可以使用chr(0x31),當打印時產生1.希望.write命令將chr(0x31)視爲「\ x31」?
當我創建字符串時,我必須添加額外的\或它會給出錯誤。如果我將測試字符串打印到屏幕上,那只是「\ x30」 – KBadgley
正確;如果你正確地做了它應該打印'0'(這是ASCII碼0x30)。你會得到什麼錯誤? –
我從三個字符串實際創建teststring。一個看起來像這樣的:''\\ x',一個是數字,最後一個是'''。如果我在創建第一個字符串時忽略第二個字符,則會出現「無效\ x轉義」錯誤。 – KBadgley