Ubuntu应用程序快速开发(单片机串口助手软件)尽管是写串口助手软件,但后面的内容也可以用在开发其他的软件上。开发好的软件含有源代码、deb包等。
一、串口通信模块
这里,我们使用python进行编程。通过pyserial模块可以对串口进行方便的操作。
下面先介绍一下pyserial模块。这个模块不属于标准库,因此需要自己下载安装。到这里下载:sourceforge/projects/pyserial/,下载好后解压进行安装:cd到目录下,运行命令:$python setup.py install。安装好之后,便可以在使用了(我用的是python2.7.3)。
我最喜欢的IDE是免费的Wing101,它是一款轻量级的专业开发工具。
上半部分是编辑面板,我们将在这里编写Python程序;下面选项卡中标为“Python Shell”的部分是我们将要用来实验某些Python代码片段的地方。当然,现在暂时用不到编辑面板。还得穿插着说一点。笔记本上是没有RS232串行接口的,所以需要使用USB接口。Ubuntu内核中已经编译
了USB转串口驱动,所以,这部分是不用去管的。下面的实验中需要用到串口,故敲代码之前,先得把单片机用USB转串口线连接在电脑上,这样ubuntu才能创建名为ttyUSB0的文件(/dev中,可以到里面看一下,也有可能是ttyUSB1,这个具体看一下,下面的命令中也做相应的更改即可),否则实验时串口不存在,会报错。ttyUSB0文件建立以后,还需要赋予读写权限:sudo chmod777 /dev/ttyUSB0,否则也会报错。
>>>import serial
创建串口实例,命名为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编程中采用这种方法。
下面的语句用来打开刚才创建好的串口实例:
ubuntu怎么安装python
>>>ser.open()
可以用方法isOpen()来检测一下串口的状态,处于打开状态返回TRUE,处于关闭状态则返回FALSE。
>>>ser.isOpen()
向串口发送数据时使用write()方法,参数即为要发送的数据,需为字符串形式。
>>>ser.write('turn on')
读从串口接收到的数据时使用read()方法,括号内可带参数,是需要读取的字节数(为空则默认一个字节)。为了能全部读取并防止越界时命令解释器卡死,可以用inWaiting()方法获得接收缓存的字节数,作为参数传输给read()方法。例如:
>>>size=ser.inWiting()
>>>ad(size)
不过,这样的话,每次都会读取到缓存中的全部内容,也就是说,前面所有接收到的数据都会被读取。所以,最好在读完数据之后将接收缓存清空一下:
>>>ser.flushInput()
下面的这条语句用来关闭串口。
>>>ser.close()
还有其他方法,具体可以参看文件夹中的文档(函数可以在serial文件夹下的
loopback_connection.py中看到),这里就不多说了。
二、开发工具——Quickly
下面介绍开发工具。
之前是用Anjuta,但生成源码编译安装后无法运行,这个是由于pygtk是gtk+2的版本,glade3不支持它。
后来用的是ubuntu开发网站提供的Quickly工具。Quickly综合了项目创建、代码编辑、GUI 编辑、运行调试、编译打包以及发布的功能,所有的这些都可以使用命令启动。至于它使用pygtk、gedit、glade等等就不用关心了。可以访问网站安装,也可以通过命令安装:$sudo apt-get install
quickly quickly-ubuntu-template。安装好之后就可以进行开发了。
1、创建项目。
在终端中运行:
$quickly create ubuntu-application serial-assistant
运行这条命令后,会弹出一个名为Serial Assistant的窗口。与此同时,Quickly会在当前目录(本文中,当前目录为主目录)下创建serial-assistant文件夹,这样就建立了模板,之后的一系列工作都是以这个模板为基础的。以后运行时键入以下命令即可启动:
$quickly run
2、用户指南
$cd~/serial-assistant
$quickly tutorial
运行此命令后会弹出用户指南,也就是教程(英文)。建议看看,里面讲得很详细,只不过它的示例是编写一款带有保存功能的类似便笺的软件。
3、设计界面
$cd~/serial-assistant
$quickly design
运行此命令弹出Glade界面设计器(这个是之前的截图,故名称不相符):
这样的界面不是我们需要的,把它改为这种样式:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。