<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • python串口發送十六進制數(python串口通信的接收與發送)


    1、這節課我們來實現串口的寫入與接收,同樣查看pyserial的在線文檔,查看數據的寫入與發送。

    2、Write方法,文檔中表明,寫的方法只能寫bytes,所以我們在com.py,增加兩個函數用來寫數據:

    def comwritebytes(self,b):

    wlen=self.com.write(b)

    return wlen

    def comwritestring(self,b):

    wlen=self.com.write(b.encode(“utf-8”))

    return wlen

    一個用來直接發送bytes數據,另一個將string數據轉為bytes再發送,接著我們需要更新下主界面:

    第六課python來寫串口助手-串口發送數據

    增加一個line edite命名為txt_send,一個checkbox命名為cb_send,一個發送與接收按鈕,分別命名為btn_send、btn_receive.

    我們串口發送的代碼已經完成了,那么我們將功能增加到界面中來。

    1、在界面中發送string類型的數據,先更新最新的界面代碼,在cmd中輸入指令:pyuic5 -o uart.py uart.ui

    第六課python來寫串口助手-串口發送數據

    接著在uartform.py中增加代碼:

    def WriteData(self):

    try:

    msg=self.new.txt_send.text()

    cbcheck=self.new.cb_send.checkState()

    if cbcheck:

    pass

    else:

    self.com.comwritestring(msg)

    except Exception as e:

    self.ShowBox(str(e))

    當cb_send沒有被選中的時候,也就是默認發送string類型,如果我要發送hex數據,如:01 ff 00 12這類數據的時候呢?

    我們來實現一個將hex數據轉為bytes的代碼:

    def HexToBytes(self):

    bl=[]

    try:

    text=self.new.txt_send.text()

    slist=text.split(” “)

    for e in slist:

    b=int(e,16)

    bl.append(b)

    except Exception as e:

    self.ShowBox(str(e))

    return bl

    將發送代碼更新為:

    def WriteData(self):

    try:

    slen=0

    msg=self.new.txt_send.text()

    cbcheck=self.new.cb_send.checkState()

    if cbcheck:

    bl=self.HexToBytes()

    slen=self.com.comwritebytes(bl)

    else:

    slen=self.com.comwritestring(msg)

    self.ShowMsg(“發送數據長度”+str(slen))

    except Exception as e:

    self.ShowBox(str(e))

    將函數綁定到按鈕:
    self.new.btn_send.clicked.connect(self.WriteData)

    運行一下,不打開串口發送,提示錯誤:

    第六課python來寫串口助手-串口發送數據

    打開串口發送string:

    第六課python來寫串口助手-串口發送數據

    勾選hex,發送:

    第六課python來寫串口助手-串口發送數據

    提示數據格式錯誤,接著我們更改數據格式后發送:

    第六課python來寫串口助手-串口發送數據

    到此為止,串口的數據發送我們已經完成,下一節課將實現串口接收數據。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费