python串口發(fā)送16進(jìn)制數(shù)

python通過(guò)調(diào)用serial庫(kù)函數(shù)發(fā)送指令,其中串口通信發(fā)送的數(shù)據(jù)需要是str格式字符串。當(dāng)需要給下方發(fā)送16進(jìn)制數(shù)據(jù)時(shí),必須將16進(jìn)制數(shù)轉(zhuǎn)化為str格式字符串方可發(fā)送。

1.數(shù)據(jù)采用python中str()函數(shù),轉(zhuǎn)換為字符串格式,再串口接受端對(duì)字符串進(jìn)行解碼

例如python通過(guò)串口發(fā)送0x08數(shù)據(jù)至串口接受器,此時(shí)可以通過(guò)將0x08轉(zhuǎn)換為str格式發(fā)送,再通過(guò)串口接收器解析代碼將str轉(zhuǎn)化為16進(jìn)制數(shù)。

data=0x08 ?

serial.send(str(data)) ? ? ? ? ?注:str(0x18)='24'

事實(shí)上這樣的轉(zhuǎn)化在串口接收器端會(huì)比較麻煩,因?yàn)槭褂么谡{(diào)試助手時(shí)也無(wú)法進(jìn)行解碼。同時(shí)發(fā)送的數(shù)據(jù)量也偏大

2.數(shù)據(jù)采用python中chr()函數(shù),轉(zhuǎn)換為ascII碼形式,發(fā)送ascII碼,對(duì)方接受后識(shí)別為16進(jìn)制數(shù)據(jù)。

data=0x08

serial.send(chr(data)) ? ? ? ? ?注: chr(0x08)='\x08'

具體為何chr()函數(shù)轉(zhuǎn)換的16進(jìn)制ascII數(shù)據(jù)可以被識(shí)別,需要認(rèn)真探討

這個(gè)方式有一個(gè)很大的問(wèn)題是chr的轉(zhuǎn)換只能是0~255之間的數(shù)據(jù),超過(guò)就無(wú)法解析成ascII碼

事實(shí)上 當(dāng)print(chr(0x30))時(shí)打印出的是ascII編碼的字符0,print(chr(48)也是字符0,與ascII字符表上的一致。

3.同時(shí)還可以通過(guò)binascii.b2a_hex函數(shù)進(jìn)行進(jìn)制轉(zhuǎn)換

后面兩種可行的方式歸根究低是通過(guò)發(fā)送‘x08’這樣的格式發(fā)送,實(shí)際上這個(gè)格式是通用的ascII碼的格式。事實(shí)上系統(tǒng)將數(shù)據(jù)下達(dá)串口時(shí)會(huì)將數(shù)據(jù)進(jìn)行解析,ascII碼的數(shù)據(jù)解析為這個(gè)16進(jìn)制對(duì)應(yīng)的二進(jìn)制碼。即使發(fā)送的是字符串:‘hello’ 實(shí)際上也是通過(guò)ascII碼的解析,將每一個(gè)字符解析成ASCII碼的二進(jìn)制數(shù)據(jù),再發(fā)送過(guò)去。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 個(gè)人筆記,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,947評(píng)論 0 5
  • (源自摘抄整理)https://www.91ri.org/11494.html Webshell實(shí)現(xiàn)與隱藏探究 一...
    JackyTsuuuy閱讀 21,213評(píng)論 2 13
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,803評(píng)論 1 118
  • 字符集和編碼簡(jiǎn)介 在編程中常??梢砸?jiàn)到各種字符集和編碼,包括ASCII,MBCS,Unicode等字符集。確切的說(shuō)...
    蘭山小亭閱讀 9,080評(píng)論 0 13
  • 前年,微信興起。男同胞用來(lái)泡妞兒,女同胞用來(lái)裝×。發(fā)紅包的日子很多,過(guò)年,過(guò)節(jié)過(guò)生日。早安,午安,晚安。和各種祖國(guó)...
    虛度老太婆閱讀 207評(píng)論 0 0

友情鏈接更多精彩內(nèi)容