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

python實(shí)現(xiàn)串口自動(dòng)觸發(fā)工作的示例

 更新時(shí)間:2019年07月02日 11:39:38   作者:victoryseven  
今天小編就為大家分享一篇python實(shí)現(xiàn)串口自動(dòng)觸發(fā)工作的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近在一個(gè)python工具中需要實(shí)現(xiàn)串口自動(dòng)觸發(fā)工作的功能,之前只在winform上面實(shí)現(xiàn),今天使用python試試。這里簡(jiǎn)單記一下:

首先用wxpython實(shí)現(xiàn)一個(gè)Button,點(diǎn)擊事件綁定函數(shù)OnButtonAutoStopAll

self.button_autoStopAll = wx.Button(id=wxID_FRAME1BUTTONAUTOSTARTALL, label=u'AUTO STOP ALL',
       name='button_autoStop', parent=self.staticBox_common, pos=wx.Point(8, 284),
       size=wx.Size(180, 80), style=0)
    self.button_autoStopAll.SetFont(wx.Font(24, wx.SWISS, wx.NORMAL, wx.BOLD, False,
       u'Agency FB'))
    self.button_autoStopAll.Bind(wx.EVT_BUTTON, self.OnButtonAutoStopAll,
       id=wxID_FRAME1BUTTONAUTOSTARTALL)

再有ComboBox控件實(shí)現(xiàn)點(diǎn)擊下拉時(shí)自動(dòng)加載當(dāng)前串口名

 self.combox = wx.ComboBox(self, -1, pos=wx.Point(10,100), size=wx.Size(100,50), 
     style=wx.CB_READONLY) #串口combox
 self.combox.Bind(wx.EVT_COMBOBOX_DROPDOWN, self.evt_combox_dropdown)

下拉菜單事件函數(shù)

def evt_combox_dropdown(self, event):
    print 'combox%d dropdown'%self.sta_num
    serial_list = list(serial.tools.list_ports.comports())
    if serial_list: #判斷是否為空
      portName_list = []
  #轉(zhuǎn)換serial handle為port name
      for i in range(0, len(serial_list)):
        portname = list(serial_list[i])
        portName_list.append(str(portname[0]))
      print portName_list
    
    self.combox.SetItems(portName_list)

然后進(jìn)入正題,這里根據(jù)DSR信號(hào)來(lái)觸發(fā)。

#串口自動(dòng)觸發(fā)檢測(cè)線程
class Job(threading.Thread):
  ...
 
  def run(self):
    while self.__running.isSet():
      self.__flag.wait()       # 為T(mén)rue時(shí)立即返回, 為False時(shí)阻塞直到內(nèi)部的標(biāo)識(shí)位為T(mén)rue后返回
      print "into job function"
	  i=0
      isOpen = serial_isOpen(i)
      if serial_list[i]!=1 and isOpen:
        now_dsr = serial_list[i].getDSR()
        if now_dsr != last_dsr[i]:
          last_dsr[i] = now_dsr
          print 'dsr level changed to %d'%now_dsr
          if now_dsr == True:
            if thread_list[i] != 1:
              if ~thread_list[i].is_alive():
                serial_Open(0, False)
                #do something
            else:
              serial_Open(0, False)
              #do something
        break
      time.sleep(1)
 
  ...

即每當(dāng)DSR信號(hào)置低時(shí)觸發(fā)工作

以上這篇python實(shí)現(xiàn)串口自動(dòng)觸發(fā)工作的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何使用Pytest進(jìn)行自動(dòng)化測(cè)試

    詳解如何使用Pytest進(jìn)行自動(dòng)化測(cè)試

    這篇文章主要介紹了詳解如何使用Pytest進(jìn)行自動(dòng)化測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python的類(lèi)變量和成員變量用法實(shí)例教程

    python的類(lèi)變量和成員變量用法實(shí)例教程

    這篇文章主要介紹了python的類(lèi)變量和成員變量用法,是學(xué)習(xí)Python程序設(shè)計(jì)所必須牢固掌握的,需要的朋友可以參考下
    2014-08-08
  • 對(duì)django2.0 關(guān)聯(lián)表的必填on_delete參數(shù)的含義解析

    對(duì)django2.0 關(guān)聯(lián)表的必填on_delete參數(shù)的含義解析

    今天小編就為大家分享一篇對(duì)django2.0 關(guān)聯(lián)表的必填on_delete參數(shù)的含義解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 使用python os模塊復(fù)制文件到指定文件夾的方法

    使用python os模塊復(fù)制文件到指定文件夾的方法

    今天小編就為大家分享一篇使用python os模塊復(fù)制文件到指定文件夾的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • django-初始配置(純手寫(xiě))詳解

    django-初始配置(純手寫(xiě))詳解

    這篇文章主要介紹了django-初始配置(純手寫(xiě))詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 通過(guò)PYTHON來(lái)實(shí)現(xiàn)圖像分割詳解

    通過(guò)PYTHON來(lái)實(shí)現(xiàn)圖像分割詳解

    這篇文章主要介紹了通過(guò)PYTHON來(lái)實(shí)現(xiàn)圖像分割詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • Python爬取csnd文章并轉(zhuǎn)為PDF文件

    Python爬取csnd文章并轉(zhuǎn)為PDF文件

    這篇文章主要介紹了Python爬取csnd文章并轉(zhuǎn)為PDF文件,通過(guò)開(kāi)發(fā)者工具進(jìn)行抓包分析?分析數(shù)據(jù)從哪里來(lái)的,然后發(fā)送請(qǐng)求?對(duì)于文章列表頁(yè)面發(fā)送請(qǐng)求,獲取數(shù)據(jù)?獲取網(wǎng)頁(yè)源代碼,解析數(shù)據(jù)文章的url及文章標(biāo)題,發(fā)送請(qǐng)求?對(duì)于文章詳情頁(yè)url地址發(fā)送請(qǐng)求,需要的朋友可以參考一下
    2022-01-01
  • 關(guān)于DataFrame取值操作總結(jié)(取指定列指定值的行)

    關(guān)于DataFrame取值操作總結(jié)(取指定列指定值的行)

    這篇文章主要介紹了關(guān)于DataFrame取值操作總結(jié)(取指定列指定值的行),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 淺談python條件表達(dá)式:多項(xiàng)分支,雙向分支

    淺談python條件表達(dá)式:多項(xiàng)分支,雙向分支

    這篇文章主要介紹了淺談python條件表達(dá)式:多項(xiàng)分支,雙向分支的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • python動(dòng)態(tài)加載技術(shù)解析

    python動(dòng)態(tài)加載技術(shù)解析

    這篇文章主要介紹了python動(dòng)態(tài)加載技術(shù)解析,說(shuō)簡(jiǎn)單點(diǎn)就是,如果開(kāi)發(fā)者發(fā)現(xiàn)自己的代碼有bug,那么他可以在不關(guān)閉原來(lái)代碼的基礎(chǔ)之上,動(dòng)態(tài)替換模塊替換方法一般用reload來(lái)完成,需要的朋友可以參考下
    2023-07-07

最新評(píng)論

吴忠市| 石台县| 威远县| 黄山市| 临沭县| 富顺县| 贞丰县| 巧家县| 西林县| 文登市| 阳曲县| 达孜县| 康定县| 南陵县| 商城县| 辽中县| 江川县| 浦北县| 景宁| 孝昌县| 陈巴尔虎旗| 玛沁县| 盐边县| 晋州市| 临沭县| 隆子县| 深水埗区| 鲁山县| 武胜县| 西青区| 太谷县| 辉南县| 资溪县| 江安县| 渝中区| 彩票| 灵璧县| 江达县| 丹棱县| 治县。| 岳西县|