python入门示例程序
该实例是raspi和dsp电机运动控制板的串口uart通信: import serial class SerialHandler():
'''
raspi serial for communication
''' def __init__(self)://初始化一些默认参数,其它非初始化参数在方法中作为参数传入
self.serialdev = None//给参数赋初始值 def serial_open(self,serialdev,timeout)://用户可传入的参数,其它参数(如baudrae、bytesize...)使用默认值
try:
self.serialdev = serial.Serial(serialdev,baudrate=9600,bytesize=8,parity='N',stopbits=1,timeout=None,xonxoff=False,rtscts=False,dsrdtr=False)
except:
self.serialdev = None
#print ('Open /dev/ttyAMA0 fail!')
print ('Open %s fail!' %(serialdev))//print的用法 def serial_close(self):
if type(self.serialdev) != type(None):
self.serialdev.close()
self.serialdev = None
return True
return False def serial_write(self,txdata):
self.len_txdata = len(txdata)//后面方法serial_read要使用该变量,所以在变量前面加self
if type(self.serialdev) != type(None):
#txdata_list = list[txdata]
encodetxdata=txdata.encode('ascii')//只在本方法中使用的变量,其前可以不加self,如果该类的其它方法要用到这个变量,则其前加self
try: //发送前进行编码unicode码转换为ascii码
#self.serialdev.write(txdata_list[:])
self.serialdev.write(encodetxdata)
except:
print ('send txdata fail!')
self.serial_close()
return False
return False def serial_read(self):
if type(self.serialdev) != type(None):
try:
#self.len_txdata = len(txdata)
rxdata=self.serialdev.read(self.len_txdata)//使用前面serial_write的变量
decoderxdata = rxdata.decode()//接收后显示前解码,把scii码解码为Unicode码
return decoderxdata
except:
print ('receive txdata fail!')
self.serial_close()
return None
return None if __name__ == '__main__'://单元测试
test = SerialHandler()//将类实例化为test,之后实例test使用类SerialHandler的方法
test.serial_open('/dev/ttyAMA0',timeout=1)
test.serial_write('abc234de')
printrxdata = test.serial_read()
print('the receive data is %s' %(printrxdata))
test.serial_close()
python入门示例程序的更多相关文章
- 40个Python入门小程序
有不少同学学完Python后仍然很难将其灵活运用.我整理 37 个Python入门的小程序.在实践中应用Python会有事半功倍的效果. 分享 Github 项目,里面收集了 Python 学习资料 ...
- 2018-06-29 "西游记"主题Python入门示例尝试-数据结构 5.1-5.1.2
(见前: 中文代码示例视频演示Python入门第五章 数据结构 仍然基于官方文档, 欢迎建议(尤其是如何取材). 5. Data Structures - More on Lists 列表详述 > ...
- Spring Data Redis入门示例:程序配置(五)
单机配置 redis.properties配置 #redis的服务器地址 redis.host=127.0.0.1 #redis的服务端口 redis.port=6379 #客户端超时时间单位是毫秒 ...
- python 入门教程
转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ...
- Python入门-函数的使用到程序的公布安装
Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...
- python入门(7)Python程序的风格
python入门(7)Python程序的风格 Python采用缩进方式,写出来的代码就像下面的样子: # print absolute value of an integer: a = 100 if ...
- python入门(4)第一个python程序
python入门(4)第一个python程序 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计算结果是不是300: ...
- 2018-06-21 中文代码示例视频演示Python入门教程第五章 数据结构
知乎原链 续前作: 中文代码示例视频演示Python入门教程第四章 控制流 对应在线文档: 5. Data Structures 这一章起初还是采取了尽量与原例程相近的汉化方式, 但有些语义较偏(如T ...
- 2018-06-20 中文代码示例视频演示Python入门教程第四章 控制流
知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一 ...
随机推荐
- js获得本季度的开始日期 结束日期
var now = new Date(); //当前日期var nowMonth = now.getMonth()+1; //当前月var nowYear = now.getFullYear(); / ...
- Java代码实现文件上传(转载)
刚刚发表了一篇Java发送电子邮件,以前真是没注意,commons里这么多常用项目,惭愧呀,直到现在回顾;要学习的真是太多了,还是缺少真正的学习能力... 这里用到的是commons-fileuplo ...
- OpenCV Haar AdaBoost源码改进据说是比EMCV快6倍
<pre name="code" class="cpp">#include "Haar.h" #include "lo ...
- [LUOGU] 1002 过河卒
题目描述 棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为"马拦过 ...
- CSS 隐藏 visibility 属性
定义和用法 visibility 属性规定元素是否可见. 提示:即使不可见的元素也会占据页面上的空间.请使用 "display" 属性来创建不占据页面空间的不可见元素. 说明 这个 ...
- (63)zabbix low-level discover zabbix批量部署必备
1. 概述 <zabbix发现配置>server通过配置好的规则,自动添加host.group.template <zabbix Active agent自动注册>与disco ...
- perl的bareword
perl的bareword可能被认为:label . 句柄 .函数 . 普通字符串. 上下文不同,解释器有歧义. 最好用 use strict; use warning;
- Python9-模块1-day19
在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和Ord ...
- PAT Basic 1042
1042 字符统计 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 ASCII 码表中任意可见字符及空格组成,至少包 ...
- 【转】VS2017的VSIX插件开发
最近从头开发了一遍一个VSIX的插件,用于调测的一个工具: 特此把相关的过程经验记录下来: 第一步:建立工程 1. 首先是安装上: 需要安装Visual Studio SDK,这个在安装VS ...