python实现串口自动触发工作的示例


Posted in Python onJuly 02, 2019

最近在一个python工具中需要实现串口自动触发工作的功能,之前只在winform上面实现,今天使用python试试。这里简单记一下:

首先用wxpython实现一个Button,点击事件绑定函数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控件实现点击下拉时自动加载当前串口名

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)

下拉菜单事件函数

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 = []
  #转换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)

然后进入正题,这里根据DSR信号来触发。

#串口自动触发检测线程
class Job(threading.Thread):
  ...
 
  def run(self):
    while self.__running.isSet():
      self.__flag.wait()       # 为True时立即返回, 为False时阻塞直到内部的标识位为True后返回
      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)
 
  ...

即每当DSR信号置低时触发工作

以上这篇python实现串口自动触发工作的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现将汉字转换成汉语拼音的库
May 05 Python
Python 操作文件的基本方法总结
Aug 10 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
python3 flask实现文件上传功能
Mar 20 Python
对python requests的content和text方法的区别详解
Oct 11 Python
python实现支付宝转账接口
May 07 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
通过Python实现一个简单的html页面
May 16 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
pycharm远程连接服务器并配置python interpreter的方法
Dec 23 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
Feb 22 Python
python常用函数与用法示例
Jul 02 #Python
pandas DataFrame 行列索引及值的获取的方法
Jul 02 #Python
python for和else语句趣谈
Jul 02 #Python
python交互模式下输入换行/输入多行命令的方法
Jul 02 #Python
python3.6 如何将list存入txt后再读出list的方法
Jul 02 #Python
python格式化输出保留2位小数的实现方法
Jul 02 #Python
Python 获取ftp服务器文件时间的方法
Jul 02 #Python
You might like
php的一个登录的类 [推荐]
2007/03/16 PHP
PHP读取MySQL数据代码
2008/06/05 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP获取文件行数的方法
2015/06/10 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
2014/05/11 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
基于python编写的微博应用
2014/10/17 Python
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
复习Python中的字符串知识点
2015/04/14 Python
python 调用HBase的简单实例
2016/12/18 Python
python实现扫描ip地址的小程序
2019/04/16 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python re模块常见用法例举
2021/03/01 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
铭立家具面试题
2012/12/06 面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
四种会话跟踪技术
2015/05/20 面试题
护士毕业生自荐信
2014/02/07 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
英语求职信范文
2014/05/23 职场文书
Hive日期格式转换方法总结
2022/06/25 数据库