Python使用线程来接收串口数据的示例

yipeiwu_com7年前Python基础

如下所示:

#!/usr/bin/env python
import serial
import time
import thread
 
class MSerialPort:
	message=''
	def __init__(self,port,buand):
		self.port=serial.Serial(port,buand)
		if not self.port.isOpen():
			self.port.open()
	def port_open(self):
		if not self.port.isOpen():
			self.port.open()
	def port_close(self):
		self.port.close()
	def send_data(self,data):
		number=self.port.write(data)
		return number
	def read_data(self):
		while True:
			data=self.port.readline()
			self.message+=data
if __name__=='__main__':
	mSerial=MSerialPort('/dev/ttyACM0',9600)
	thread.start_new_thread(mSerial.read_data,())
	while True:
		time.sleep(1)
		print mSerial.message
		print 'next line'
 

以上这篇Python使用线程来接收串口数据的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中的FTP通信模块ftplib的用法整理

Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件. FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连...

深入浅出学习python装饰器

深入浅出学习python装饰器

之前就了解到了装饰器, 但是就会点皮毛, 而且对其调用方式感到迷茫,正好现在的项目我想优化,就想到了用装饰器, 因此深入研究了下装饰器. 先看下代码: import time #...

python正向最大匹配分词和逆向最大匹配分词的实例

正向最大匹配 # -*- coding:utf-8 -*- CODEC='utf-8' def u(s, encoding): 'converted other enco...

python使用循环打印所有三位数水仙花数的实例

首先水仙花数是什么? 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、...

扩展Django admin的list_filter()可使用范围方法

扩展Django admin的list_filter()可使用范围方法

需求描述 有时候我们会基于已有数据生成一列在表格中,类似于下面的 class BaseSchema(models.Model): ... def test_status(self...