python 串口效率測試

先問一個問題。項目開發,串口使用python寫好呢還是C++寫好?


我寫了一個小程序,想測試一下電腦串口之間的極限傳遞效率。

電腦上插着兩個usb轉串口,分別RXD接TXD,.

然後啓動兩個python程序,分別開啓串口1,串口2,.波特率115200,超時爲1秒。

串口1等待串口2的數據,一旦接收到數據就回發給串口2。

串口2等待串口2的數據,一旦接收到數據就回發給串口1。

使用定時器測試等待接受的時間,就能測出串口的極限交換頻率。(當然,不同波特率和不同的數據量,不同電腦,不同的USB轉串口會有所不同)

貼一下代碼

程序1:


import serial
import datetime

ser1 = serial.Serial()
ser1.baudrate = 115200
ser1.port = "COM23"
ser1.timeout = 1
ser1.open()


while True:
    start = datetime.datetime.now()
    ser1.readline()
    print datetime.datetime.now()- start
    ser1.write("12345\r\n")

程序2:

import serial
import datetime

ser1 = serial.Serial()
ser1.baudrate = 115200
ser1.port = "COM24"
ser1.timeout = 1
ser1.open()


while True:
    start = datetime.datetime.now()
    ser1.readline()
    print datetime.datetime.now()- start
    ser1.write("12345\r\n")

最後測得時間差是0.014s。換算過去是71Hz。

不知道C++這麼寫會是一個什麼成績。

如果有興趣,手頭有兩個串口,可以試試看。虛擬串口軟件不能使用,效果不一樣,我測出來是0.002s,沒啥意義。。

有測過的可以留個言~


發佈了36 篇原創文章 · 獲贊 18 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章