<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # [Python串口編程](http://www.cnblogs.com/yinguo/p/4667350.html) [TOC] python的串口網上有很多例子,這里了只是把認為好的整理到一起。 首先,應該安裝serial模塊,還能開始后續的操作。我用的python2.6,serial模塊可以在這里下載安裝[serial模塊下載](http://download.csdn.net/detail/xhao014/4355886) ### 1 字符串的發送接收 短接串口的2、3腳,創建一個文本,如: > import serial > t = serial.Serial('com12',9600) > n = t.write('you are my world') > print t.portstr > print n > str = t.read(n) > print str 或者你可以稍微添加幾句,變成你任意輸入后打印出你的鍵入信息。 > import serial > t = serial.Serial('com12',9600) > print t.portstr > strInput = raw_input('enter some words:') > n = t.write(strInput) > print n > str = t.read(n) > print str 其中,read(value)方法的參數value為需要讀取的字符長度。?如果想要全部讀取,提供兩個方法: 1)inWaiting:監測接收字符。?inWaitting返回接收字符串的長度值,然后把這個值賦給read做參數。 2)readall():讀取全部字符。 =================================================================================================================================== ### 2 十六進制顯示 十六進制顯示的實質是把接收到的字符串轉換成其對應的ASCII碼,然后將ASCII碼值再轉換成十六進制數顯示出來,這樣就可以顯示特殊字符了。 在這里定義了一個函數,如hexShow(argv),代碼如下: > import serial > def hexShow(argv): > result = '' > hLen = len(argv) > for i in xrange(hLen): > hvol = ord(argv[i]) > hhex = '%02x'%hvol > result += hhex+' ' > print 'hexShow:',result > t = serial.Serial('com12',9600) > print t.portstr > strInput = raw_input('enter some words:') > n = t.write(strInput) > print n > str = t.read(n) > print str > hexShow(str) =================================================================================================================================== ### 3 十六進制發送 十六進制發送實質是發送十六進制格式的字符串,如'\xaa','\x0b'。重點在于怎么樣把一個字符串轉換成十六進制的格式,有兩個誤區: 1)'\x'+'aa'是不可以,涉及到轉義符反斜杠 2)'\\x'+'aa'和r'\x'+'aa'也不可以,這樣的打印結果雖然是\xaa,但賦給變量的值卻是'\\xaa' ?這里用到decode函數, > list='aabbccddee' > hexer=list.decode("hex") > print hexer 需要注意一點,如果字符串list的長度為奇數,則decode會報錯,可以按照實際情況,用字符串的切片操作,在字符串的開頭或結尾加一個'0' 假如在串口助手以十六進制發送字符串"abc",那么你在python中則這樣操作“self.l_serial.write(”\x61\x62\x63") ” 當然,還有另外一個方法: > strSerial = "abc" > strHex = binascii.b2a_hex(strSerial) > #print strHex > strhex = strHex.decode("hex") > #print strhex > self.l_serial.write(strhex); 同樣可以達到相同目的。 那么,串口方面的就整理完了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看