最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3 實現(xiàn)串口兩進程同時讀寫

 更新時間:2019年06月12日 11:52:42   作者:colcloud  
今天小編就為大家分享一篇Python3 實現(xiàn)串口兩進程同時讀寫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

通過兩個進程分別讀寫串口,并把發(fā)送與接收到的內(nèi)容記錄在blog中,收到q時程序結束并退出

import threading,time
import serial
import string
 
 
class SerThread:
  def __init__(self, Port=0):
    #初始化串口、blog文件名稱
    self.my_serial = serial.Serial()
    self.my_serial.port=Port
    self.my_serial.baudrate = 9600
    self.my_serial.timeout = 1    
    self.alive = False
    self.waitEnd = None
    fname=time.strftime("%Y%m%d")#blog名稱為當前時間
    self.rfname='r'+fname #接收blog名稱
    self.sfname='s'+fname #發(fā)送blog名稱
    self.thread_read= None
    self.thread_send=None   
       
 
  def waiting(self):
    # 等待event停止標志
    if not self.waitEnd is None:
      self.waitEnd.wait()
 
  def start(self):
    #開串口以及blog文件 
    self.rfile=open(self.rfname,'w')
    self.sfile=open(self.sfname,'w')
    self.my_serial.open()
       
    if self.my_serial.isOpen():
      self.waitEnd = threading.Event()
      self.alive = True
      
      self.thread_read = threading.Thread(target=self.Reader)
      self.thread_read.setDaemon(True)
      
      self.thread_send=threading.Thread(target=self.Sender)
      self.thread_send.setDaemon(True)
      
      self.thread_read.start()
      self.thread_send.start()
      return True
    else:
      return False
 
  
  def Reader(self):
    while self.alive:
      try:
        n=self.my_serial.inWaiting()
        data=''
        if n:
          data= self.my_serial.read(n).decode('utf-8')       
          print ('recv'+' '+time.strftime("%Y-%m-%d %X")+' '+data.strip())
          print (time.strftime("%Y-%m-%d %X:")+data.strip(),file=self.rfile)
          if len(data)==1 and ord(data[len(data)-1])==113: #收到字母q,程序退出
            break
      except Exception as ex:
        print (ex)
        
 
    self.waitEnd.set()
    self.alive = False
  
  def Sender(self):
    while self.alive:
      try:
        snddata=input("input data:\n")
        self.my_serial.write(snddata.encode('utf-8'))
        print ('sent'+' '+ time.strftime("%Y-%m-%d %X"))
              print (snddata,file=self.sfile) 
        
      except Exception as ex:
        print (ex)
    
    self.waitEnd.set()
    self.alive = False          
        
    
 
  def stop(self):
    self.alive = False
    #self.thread_read.join()
    #self.thread_send.join()
    if self.my_serial.isOpen():
      self.my_serial.close()
    self.rfile.close()
    self.sfile.close()
      
 
if __name__ == '__main__':  
  
  ser = SerThread('com4')
  try:
    if ser.start():
      ser.waiting()
      ser.stop()
    else:
      pass;      
  except Exception as ex:
    print (ex)
 
  if ser.alive:
    ser.stop()
 
  print ('End OK .');
  del ser; 

以上這篇Python3 實現(xiàn)串口兩進程同時讀寫就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解django三種文件下載方式

    詳解django三種文件下載方式

    這篇文章主要介紹了詳解django三種文件下載方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 使用Python和Go實現(xiàn)服務器發(fā)送事件(SSE)

    使用Python和Go實現(xiàn)服務器發(fā)送事件(SSE)

    在當今的交互式web應用程序中,實時數(shù)據(jù)更新在增強用戶體驗方面起著至關重要的作用,在實時通信的各種技術中,SSE在眾多解決方案脫穎而出,本文給大家介紹了使用Python和Go實現(xiàn)服務器發(fā)送事件(SSE),需要的朋友可以參考下
    2024-11-11
  • Python計時相關操作詳解【time,datetime】

    Python計時相關操作詳解【time,datetime】

    這篇文章主要介紹了Python計時相關操作,涉及time,datetime模塊的使用技巧,包括時間戳、時間差、日期格式等操作方法,需要的朋友可以參考下
    2017-05-05
  • Python的turtle繪圖庫使用基礎

    Python的turtle繪圖庫使用基礎

    turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形,需要的朋友可以參考下
    2023-04-04
  • python 裝飾器的使用示例

    python 裝飾器的使用示例

    這篇文章主要介紹了python 裝飾器的使用示例,幫助大家更好的理解和使用python裝飾器,感興趣的朋友可以了解下
    2020-10-10
  • python字典按照value排序方法

    python字典按照value排序方法

    在本篇文章里小編給各位分享一篇關于python字典按照value排序方法的相關文章,有興趣的朋友們可以學習下。
    2020-12-12
  • 在Django中輸出matplotlib生成的圖片方法

    在Django中輸出matplotlib生成的圖片方法

    今天小編就為大家分享一篇在Django中輸出matplotlib生成的圖片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 簡單了解python中的與或非運算

    簡單了解python中的與或非運算

    這篇文章主要介紹了簡單了解python中的與或非運算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Django url 路由匹配過程詳解

    Django url 路由匹配過程詳解

    這篇文章主要介紹了Django url 路由匹配過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 如何使用python記錄室友的抖音在線時間

    如何使用python記錄室友的抖音在線時間

    這篇文章主要介紹了如何使用python記錄室友的抖音在線時間,本文通過實例代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論

安陆市| 中西区| 安龙县| 宁河县| 新河县| 鄂托克旗| 海盐县| 日照市| 昆山市| 平顺县| 永靖县| 东丽区| 榆中县| 忻城县| 扎赉特旗| 沙雅县| 吉木萨尔县| 安新县| 绩溪县| 奇台县| 盐边县| 闻喜县| 江城| 莒南县| 都匀市| 闵行区| 福鼎市| 秦安县| 西昌市| 白沙| 平陆县| 舒兰市| 凭祥市| 高陵县| 邮箱| 房山区| 苗栗市| 汽车| 贵州省| 天长市| 云和县|