用QtE实现SBC一241OX上的LED控制
发布时间:2008/6/3 0:00:00 访问次数:549
    
    
    来源:单片机及嵌入式系统应用 作者:西安交通大学 宋飞 赵广社
    
    摘 要:qte(qt/embedded)是挪威trolltech公司专门为嵌入式系统设计的图形用户界面(gui)的一个工具包。本文通过qte编程,完成对基于arm9的sbc-2410x开发板上led的控制,并详细说明从程序设计、移植到运行的过程。程序能很好的运行在开发板上,验证了程序的有效性和可靠性。结果说明用qte开发的应用程序界面清晰美观,操作简单方便。
    
    关键词:qte arm9 gui sbc-2410x
    
    引言
    
    近年来,由于arm(advanced risc machines)在性能、功耗、成本和体积上的优势,使得它在嵌入式系统中的发展如日中天,它在工业控制、航空航天、军事领域、消费电子、智能家电和视频监控等方面都发挥了重大的作用。很多人都迫切地想学习arm,以笔者的经验,从最基本的led控制学起,是一个不错的选择。
    
    如果不熟悉linux,可能对qte的概念知之甚少,它是挪威trolltech公司为各种系统设计的图形用户界面工具包,采用c++语言编程。qte的优点有:跨平台,可以方便的连接数据库,可以将程序与java集成等。其实,qte在一些高端的移动手持设备中早已深入人心,troll—tech公司在qte的基础上开发了一个应用环境qtopia,目前已有很多公司采用qtopia来开发他们的主流pda。当然,qt也有它的缺点,既不能提供ide(集成开发环境),但这个缺点在强大的linux下显得微不足道。使用gcc/g++,加上qt的开发工具:qt designer,tmake/qmake,uic等,开发可视化程序将变得十分容易。
    
    要学习arm,选择一款好的开发板是必不可少的。sbc一2410x是广州友善之臂公司设计的一款基于arm9的开发板,操作系统是韩国的mizi-linux。sbc-2410x不同于uclinux,它的接口丰富,且支持mmu、qte2.3.7,同时提供了控制led的命令行方式。
    
    1 系统需求
    
    ◇完全安装redhat9.0。
    ◇在linux下建立qte编译环境。
    ◇开发板上已经加载led设备驱动程序。
    
    注意:你所建立的qte版本必须与开发板所支持的版本一致。
    
    2 程序设计
    
    在linux下,用系统自带的qt designer来编写程序。qt designer是一个优秀的可视化开发工具,用它来设计十分容易。它的界面类似于delphi,但使用c++语言编写应用程序。qt程序设计里的一个亮点就是signai-_slot机制,它有点类似于vc++里的消息机制。当一个组件发出signal时,其他一个组件或多个组件可以通过slot接收发来的signai,组件本身也可以接收自己的signal,这样处理一个事件将变得非常容易。qt designer的优点不仅在于它可以十分方便的设计图形用户界面,还表现在可以用连接工具很容易的把signals和slots连接起来。用户自己设计的程序添加在**.ui.h中。
    
    打开qt deslgner,选择file/new c++project,命名为led.pro并保存。接着选择file/new-dialog,并在此设计自己的用户界面。最后选择file/new c++main—file,系统自动生成一个main.cpp文件。图形用户界面如图1所示,initlalize按钮主要完成led设备的打开,定时器的关闭和其他一些初始化工作;begim按钮则针对led display mode的开始;exit按钮为退出应用程序。左面的组合框包括4个radiobutton,对应4个led的亮或灭;右面的组合框包括6个radiobutton(对应不同的闪烁模式和闪烁快慢)和1个lcdnumber(用来显示闪烁的时间间隔)。本程序建立的signal—s1ot连接有许多,下面对几个重要的连接和函数进行说明。
    
    
    
    (1)connect(initpushbutton.signal(clicked()),this.slot(initial()))
    
    当initialize按钮按下时,ledform对话框接收此信号,并执行initial()函数。linux操作系统把所有的设备都看成文件,因此对设备的操作控制可以通过open
    
    
    来源:单片机及嵌入式系统应用 作者:西安交通大学 宋飞 赵广社
    
    摘 要:qte(qt/embedded)是挪威trolltech公司专门为嵌入式系统设计的图形用户界面(gui)的一个工具包。本文通过qte编程,完成对基于arm9的sbc-2410x开发板上led的控制,并详细说明从程序设计、移植到运行的过程。程序能很好的运行在开发板上,验证了程序的有效性和可靠性。结果说明用qte开发的应用程序界面清晰美观,操作简单方便。
    
    关键词:qte arm9 gui sbc-2410x
    
    引言
    
    近年来,由于arm(advanced risc machines)在性能、功耗、成本和体积上的优势,使得它在嵌入式系统中的发展如日中天,它在工业控制、航空航天、军事领域、消费电子、智能家电和视频监控等方面都发挥了重大的作用。很多人都迫切地想学习arm,以笔者的经验,从最基本的led控制学起,是一个不错的选择。
    
    如果不熟悉linux,可能对qte的概念知之甚少,它是挪威trolltech公司为各种系统设计的图形用户界面工具包,采用c++语言编程。qte的优点有:跨平台,可以方便的连接数据库,可以将程序与java集成等。其实,qte在一些高端的移动手持设备中早已深入人心,troll—tech公司在qte的基础上开发了一个应用环境qtopia,目前已有很多公司采用qtopia来开发他们的主流pda。当然,qt也有它的缺点,既不能提供ide(集成开发环境),但这个缺点在强大的linux下显得微不足道。使用gcc/g++,加上qt的开发工具:qt designer,tmake/qmake,uic等,开发可视化程序将变得十分容易。
    
    要学习arm,选择一款好的开发板是必不可少的。sbc一2410x是广州友善之臂公司设计的一款基于arm9的开发板,操作系统是韩国的mizi-linux。sbc-2410x不同于uclinux,它的接口丰富,且支持mmu、qte2.3.7,同时提供了控制led的命令行方式。
    
    1 系统需求
    
    ◇完全安装redhat9.0。
    ◇在linux下建立qte编译环境。
    ◇开发板上已经加载led设备驱动程序。
    
    注意:你所建立的qte版本必须与开发板所支持的版本一致。
    
    2 程序设计
    
    在linux下,用系统自带的qt designer来编写程序。qt designer是一个优秀的可视化开发工具,用它来设计十分容易。它的界面类似于delphi,但使用c++语言编写应用程序。qt程序设计里的一个亮点就是signai-_slot机制,它有点类似于vc++里的消息机制。当一个组件发出signal时,其他一个组件或多个组件可以通过slot接收发来的signai,组件本身也可以接收自己的signal,这样处理一个事件将变得非常容易。qt designer的优点不仅在于它可以十分方便的设计图形用户界面,还表现在可以用连接工具很容易的把signals和slots连接起来。用户自己设计的程序添加在**.ui.h中。
    
    打开qt deslgner,选择file/new c++project,命名为led.pro并保存。接着选择file/new-dialog,并在此设计自己的用户界面。最后选择file/new c++main—file,系统自动生成一个main.cpp文件。图形用户界面如图1所示,initlalize按钮主要完成led设备的打开,定时器的关闭和其他一些初始化工作;begim按钮则针对led display mode的开始;exit按钮为退出应用程序。左面的组合框包括4个radiobutton,对应4个led的亮或灭;右面的组合框包括6个radiobutton(对应不同的闪烁模式和闪烁快慢)和1个lcdnumber(用来显示闪烁的时间间隔)。本程序建立的signal—s1ot连接有许多,下面对几个重要的连接和函数进行说明。
    
    
    
    (1)connect(initpushbutton.signal(clicked()),this.slot(initial()))
    
    当initialize按钮按下时,ledform对话框接收此信号,并执行initial()函数。linux操作系统把所有的设备都看成文件,因此对设备的操作控制可以通过open