在研究別人的**和資料後,進行了深入的學習後,整理了一版串列埠的操作**,
功能包括啟動,停止,讀,和寫,目前還沒有加到介面上,下一步,大家不要著急,也不要催我,我會慢慢搞定的哦。
import sys
import threading
import time
import serial
import binascii
import logging
class serdeal(object):
def __init__(self, port="com4", baudrate="9600", bytesize="8", parity="n", stopbits="1", timeout=none, xonxoff=0, rtscts=0):
self.serser = none
self.alive = false
self.port = port
self.baudrate = baudrate
self.bytesize = bytesize
self.parity = parity
self.stopbits = stopbits
self.thresholdvalue = 64
self.receive_data = ""
def start(self):
self.serser = serial.serial()
self.serser.port = self.port
self.serser.baudrate = self.baudrate
self.serser.bytesize = int(self.bytesize)
self.serser.parity = self.parity
self.serser.stopbits = int(self.stopbits)
self.serser.timeout = 2
try:
self.serser.open()
if self.serser.isopen():
self.alive = true
except exception as e:
self.alive = false
logging.error(e)
def stop(self):
self.alive = false
if self.serser.isopen():
self.serser.close()
def read(self):
while self.alive:
try:
number = self.serser.inwaiting()
if number:
self.receive_data += self.serser.read(number).replace(binascii.unhexlify("00"), "")
if self.thresholdvalue <= len(self.receive_data):
self.receive_data = ""
except exception as e:
logging.error(e)
def write(self, data, ishex=false):
if self.alive:
if self.serser.isopen():
if ishex:
# data = data.replace(" ", "").replace("\n", "")
data = binascii.unhexlify(data)
self.serser.write(data)
水平有限,也是剛學習python不久,大家多指點,謝謝!
發稿與2023年1月19日
python實戰串列埠助手 7串列埠傳送
上次發的帖子的接收是有異常的,昨天下班時,反覆的測試,發現問題很大,晚上不想睡覺了,就起來修改除錯,終於搞定乙個沒有異常的版本讀取函式,如果有使用我 的,把下面2個函式替換一下即可,但是還有個問題沒有解決,就是顯示到text文字框沒有實現,我還要再繼續研究一下,傳送函式,一次只能發乙個,超過乙個就無...
Python封裝程式 python串列埠助手
步驟如下 1 安裝pyinstaller,可以直接在cmd命令列中,輸入命令 pip install pyinstaller 安裝pyinstaller 2 進入py 的儲存目錄,這裡py 放在 i eit matlab要熟悉的 手勢 手勢採集上位機 3 位址列輸入 cmd 得到 4 執行命令 py...
QT編寫串列埠除錯助手實現串列埠通訊
一 pro檔案新增串列埠 新增模組 qt serialport二 mainwindow.h 新增標頭檔案 include include例項化類,新增槽函式 按鈕可直接轉到槽,自己定義的槽函式要在private slots聲名 private qserialport serial private s...