- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ubuntu应用程序快速开发(以编写单片机串口助手软件为例).pdf
Ubuntu应用程序快速开发(单片机串口助手软件)
尽管是写串口助手软件,但后面的内容也可以用在开发其他的软件上。开发好的软件含有源代
码、deb包等。
一、串口通信模块
这里,我们使用python进行编程。通过pyserial模块可以对串口进行方便的操作。
下面先介绍一下pyserial模块。这个模块不属于标准库,因此需要自己下载安装。到这里下载:
/projects/pyserial/,下载好后解压进行安装:cd到目录下,运行命令:$python
setup.pyinstall。安装好之后,便可以在使用了(我用的是python2.7.3)。
我最喜欢的IDE是免费的 Wing 101,它是一款轻量级的专业开发工具。
上半部分是编辑面板,我们将在这里编写Python程序;下面选项卡中标为 “PythonShell”的
部分是我们将要用来实验某些Python代码片段的地方。当然,现在暂时用不到编辑面板。还得穿插
着说一点。笔记本上是没有RS232 串行接口的,所以需要使用USB接口。Ubuntu 内核中已经编译
1
了USB转串口驱动,所以,这部分是不用去管的。下面的实验中需要用到串口,故敲代码之前,
先得把单片机用USB转串口线连接在电脑上,这样ubuntu才能创建名为ttyUSB0 的文件(/dev 中,
可以到里面看一下,也有可能是ttyUSB1,这个具体看一下,下面的命令中也做相应的更改即 ),
否则实验时串口不存在,会报错。ttyUSB0文件建立以后,还需要赋予读写权限:sudochmod777
/dev/ttyUSB0,否则也会报错。
importserial
创建串口实例,命名为ser,端口就是刚才说过的/dev/ttyUSB0,波特率设置为9600bps,校验
位无。
ser=serial.Serial(/dev/ttyUSB0,9600,parity=serial.PARITY_NONE)
波特率、校验位、数据位、停止位、延时等也可以在串口实例创建后再设定,例如:
ser=serial.Serial(/dev/ttyUSB0)
ser.baudrate=9600
ser.parity=serial.PARITY_NONE
奇校验为serial.PARITY_ODD,偶校验为serial.PARITY_EVEN。这种方法方便改变串口的参数,
在后面的GUI编程中采用这种方法。
下面的语句用来打开刚才创建好的串口实例:
ser.open()
可以用方法isOpen()来检测一下串口的状态,处于打开状态返回TRUE,处于关闭状态则返回
FALSE。
ser.isOpen()
向串口发送数据时使用write()方法,参数即为要发送的数据,需为字符串形式。
2
ser.write(turnon)
读从串口接收到的数据时使用read()方法,括号内可带参数,是需要读取的字节数(为空则默认
一个字节)。为了能全部读取并防止越界时命令解释器卡死,可以用inWaiting()方法获得接收缓存的
字节数,作为参数传输给read()方法。例如:
size=ser.inWiting()
x=ser.read(size)
不过,这样的话,每次都会读取到缓存中的全部内容,也就是说,前面所有接收到的数据都会
被读取。所以,最好在读完数据之后将接收缓存清空一下:
ser.flushInput()
下面的这条语句用来关闭串口。
ser.close()
还有其他方法,具体可以参看文件夹中的文档(函数可以在serial文件夹下的
loopback_connection.py 中看到),这里就不多说了。
二、开发工具——Quickly
下面介绍开发工具。
之前是用Anjuta,但生成源码编译安装后无法运行,这个是由于pygtk是gtk+2的版本,glade3
不支持它。
后来用的是ubuntu开发网站提供的Quickly工具。Quickly综合了项目创建、代码编辑、GUI
编辑、运行调试、编译打包以及发布的功能,所有的这些都可以使用命令启动。至于它使用pygtk、
gedit、glade等等就不用关心了。可以访问网站安装,也可以通
您可能关注的文档
最近下载
- (生物竞赛联赛资料)第六章 植物体内有机物的运输.doc VIP
- 2025年高标准农田建设项目监理规划.docx VIP
- 中医诊所线上运营方案.docx VIP
- 计算机应用基础(Windows7+Office2010)(微课版)PPT模板.pptx
- 第7课《党是最高政治领导力量》第1框《不忘初心、牢记使命》课件 中职高教版中国特色社会主义.ppt VIP
- IPCCC830C中文CN印制线路组件用电气绝缘化合物的鉴定及性能.docx VIP
- 风电场光伏电站新能源发电应急能力评估报告.docx
- JTG F80∕1-2017公路工程质量检验评定标准(高清版).pdf VIP
- 国家开放大学电大本科《农业生态学》网络课实训任务答案 .pdf VIP
- 2025春新版三下人教pep英语单词默写练习(中译英)-Unit1-6-2024新教材-.docx VIP
原创力文档


文档评论(0)