emwin 移植 文档飞利浦 恩智浦

emwin 移植 文档飞利浦 恩智浦

ID:12652720

大小:205.50 KB

页数:11页

时间:2018-07-18

emwin 移植  文档飞利浦 恩智浦_第1页
emwin 移植  文档飞利浦 恩智浦_第2页
emwin 移植  文档飞利浦 恩智浦_第3页
emwin 移植  文档飞利浦 恩智浦_第4页
emwin 移植  文档飞利浦 恩智浦_第5页
资源描述:

《emwin 移植 文档飞利浦 恩智浦》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、uC/GUI(emWin)的应用与移植当你开始使用emWin进行编程时,通常遵循以下的步骤:第1步:配置emWin第一步通常是通过修改头文件LCDConf.h来配置emWin。LCDConf.h中的宏定义描述了LCD显示部分硬件特性;根据你的具体情况修改这些宏定义(例如显示屏的长、宽,每像素点用几位表示,LCD控制器的类型等参数)。第2步:定义LCD的底层驱动函数底层函数包括对LCD(控制器)的初始化函数,LCD显示缓冲区的读写函数等,完成对LCD显示硬件的直接操作。对于映射在系统存储器上的LCD,对显示缓冲区的操作仅需要在LCDConf.h中进行定义就可以了。但对于

2、采用I/O端口/缓冲区操作的LCD,就必须定义相应的接口函数了。第3步:编译,链接和测试例子代码emWin对于单任务和多任务环境下的应用都提供了例子代码。在编程之前,对这些例子代码进行编译、链接和测试,使你能够初步了解这些代码的使用。第4步:修改例子程序对例子代码作少量的修改。逐步添加一些额外的指令,例如显示不同大小的文字,显示多行等等,从而进一步理解代码的应用。第5步:emWin的多任务应用,加入到你的操作系统中如果你的系统有可能多个任务同时对显示进行操作,这时就要用到GUITask.C文件中的GUI_MAXTASK和GUI_OS宏。第6步:采用emWin编写你自己

3、的应用到这一步你应该对怎样使用emWin有一个清楚的了解了。考虑如何采用emWin提供的函数来构建你的应用,并通过阅读手册来获得各函数更详细的功能和使用上的信息。emWin的移植移植是指对emWin进行配置和修改,使它能够在你的目标系统上运行。参考第3.4节中的第一步和第二步,移植工作主要是针对配置头文件中的宏定义进行修改。这些宏包括:1.LCD宏,定义了显示的尺寸和一些可选择的特性(例如镜像,等等)2.LCD控制器宏,定义了怎样对控制器进行操作。下表显示了emWin中哪些宏定义与移植有关:表20-1与GUI移植相关的宏定义表20-2与GUI移植相关的宏定义(续)实现

4、方法与步骤4.1实例准备关于S3C44B0X与LCD接口相关内容,以及如何连接电路,可以参考实例十一。对于实例内容和目标(1),写出符合要求的函数定义;对于实例内容和目标(2),将编写好的主程序和光盘中提供的emWin的库文件加入工程中进行编译仿真。emWin的库文件放在光盘的source/guihelloworld/gui目录下。编写主程序main.C后,将主程序文件与ucgui.alf库文件加入同一个工程进行编译。编译成功后用并口线连接ARMSys,利用ADW下载程序,并仿真调试。观察LCD屏上的显示情况。4.2定义宏LCD_INIT_CONTROLLER()函数

5、用于对LCD显示进行初始化,同时开启显示。关于它的定义,可以参考实例十一4.2节的相关内容。LCD_WRITE_MEM()和LCD_READ_MEM()在LCDConf.h文件中定义,LCD_WRITE_MEM(Index,Data)函数用于对显示缓冲区的指定地址写入数据。它的定义很简单,代码如下:#defineLCD_WRITE_MEM(Index,data)*((U8*)(Index))=dataLCD_READ_MEM(Index)函数则用于读出显示缓冲区指定地址的内容。定义如下:#defineLCD_READ_MEM(Index)*((U8*)(Index))

6、4.3编写Helloworld程序参考以下示例程序,注意该程序只给出与GUI有关的部分,硬件部分的初始化部分程序,读者自行添加。#include“GUI.H”/引用emWin提供的库函数/**********************************************main*********************************************/voidmain(void){inti=0;……/*在这里对ARMSys的硬件进行初始化*/GUI_Init();/对GUI进行初始化(包括对LCD显示的初始化)GUI_DispString(“

7、Helloworld!”);/在(0,0)位置显示字符串While(1){GUI_DispDecAt(i++,20,20,4);/在(20,20)位置显示整数if(i>9999)i=0;}}运行结果以上程序的运行结果,是在液晶显示屏上显示出如下内容:范例程序的运行与操作结果其中第二行的数值不断加1跳变。从飞利浦到恩智浦(网上转载的,原始出处找不到了)[2011-2-148:35:00

8、By:enote] 7推荐2006年对于半导体行业来说,最大的一件事情莫过于飞利浦分家,2006年8月31日,飞利浦对外宣布,半导体业务将于今天成为一个独立运营的公司,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。