- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eMwin移植文档飞利浦恩智浦
uC/GUI(emWin)的应用与移植当你开始使用emWin进行编程时,通常遵循以下的步骤:
第1步:配置emWin第一步通常是通过修改头文件LCDConf.h来配置emWin。LCDConf.h中的宏定义描述了LCD显示部分硬件特性;根据你的具体情况修改这些宏定义(例如显示屏的长、宽,每像素点用几位表示,LCD控制器的类型等参数)。第2步:定义LCD的底层驱动函数底层函数包括对LCD(控制器)的初始化函数,LCD显示缓冲区的读写函数等,完成对LCD显示硬件的直接操作。对于映射在系统存储器上的LCD,对显示缓冲区的操作仅需要在LCDConf.h中进行定义就可以了。但对于采用I/O端口/缓冲区操作的LCD,就必须定义相应的接口函数了。第3步:编译,链接和测试例子代码emWin对于单任务和多任务环境下的应用都提供了例子代码。在编程之前,对这些例子代码进行编译、链接和测试,使你能够初步了解这些代码的使用。第4步:修改例子程序对例子代码作少量的修改。逐步添加一些额外的指令,例如显示不同大小的文字,显示多行等等,从而进一步理解代码的应用。第5步:emWin的多任务应用,加入到你的操作系统中如果你的系统有可能多个任务同时对显示进行操作,这时就要用到GUITask.C文件中的GUI_MAXTASK和GUI_OS宏。第6步:采用emWin编写你自己的应用到这一步你应该对怎样使用emWin有一个清楚的了解了。考虑如何采用emWin提供的函数来构建你的应用,并通过阅读手册来获得各函数更详细的功能和使用上的信息。
emWin的移植
移植是指对emWin进行配置和修改,使它能够在你的目标系统上运行。参考第3.4节中的第一步和第二步,移植工作主要是针对配置头文件中的宏定义进行修改。这些宏包括:1. LCD宏,定义了显示的尺寸和一些可选择的特性(例如镜像,等等)2.LCD控制器宏,定义了怎样对控制器进行操作。下表显示了emWin中哪些宏定义与移植有关:表20-1 与GUI移植相关的宏定义表20-2 与GUI移植相关的宏定义(续)
实现方法与步骤
4.1实例准备关于S3C44B0X与LCD接口相关内容,以及如何连接电路,可以参考实例十一。对于实例内容和目标(1),写出符合要求的函数定义;对于实例内容和目标(2),将编写好的主程序和光盘中提供的emWin的库文件加入工程中进行编译仿真。emWin的库文件放在光盘的source/guihelloworld/gui目录下。编写主程序main.C后,将主程序文件与ucgui.alf库文件加入同一个工程进行编译。编译成功后用并口线连接ARMSys,利用ADW下载程序,并仿真调试。观察LCD屏上的显示情况。4.2定义宏LCD_INIT_CONTROLLER()函数用于对LCD显示进行初始化,同时开启显示。关于它的定义,可以参考实例十一4.2节的相关内容。LCD_WRITE_MEM()和LCD_READ_MEM()在LCDConf.h文件中定义,LCD_WRITE_MEM(Index, Data)函数用于对显示缓冲区的指定地址写入数据。它的定义很简单,代码如下:#define LCD_WRITE_MEM(Index,data) *((U8*)(Index))=dataLCD_READ_MEM(Index)函数则用于读出显示缓冲区指定地址的内容。定义如下:#define LCD_READ_MEM(Index) *((U8*)(Index))4.3编写Hello world程序参考以下示例程序,注意该程序只给出与GUI有关的部分,硬件部分的初始化部分程序,读者自行添加。#include “GUI.H”/引用emWin提供的库函数/********************************************** main*********************************************/void main(void){int i=0;……/*在这里对ARMSys的硬件进行初始化*/GUI_Init();/对GUI进行初始化(包括对LCD显示的初始化)GUI_DispString(“Hello world!”);/在(0,0)位置显示字符串While(1){GUI_DispDecAt(i++,20,20,4);/在(20,20)位置显示整数if (i9999) i=0;}}运行结果以上程序的运行结果,是在液晶显示屏上显示出如下内容:范例程序的运行与操作结果其中第二行的数值不断加1跳变。
从飞利浦到恩智浦(网上转载的,原始出处找不到了) [ 2011-2-14 8:35:00 | By: en
您可能关注的文档
最近下载
- DB41_T 415-2005 欧美杨立木材积及出材率表(河南省).pdf VIP
- 乐高搭建图纸—18 旋转杯子18.pdf VIP
- MOC-0880 8067 乐高自定义港口.pdf VIP
- (正式版)H-G∕T 5896-2022 高纯空气.docx VIP
- 安徽省芜湖市区2024-2025学年七年级下学期期末考试英语试卷(含答案,无听力).pdf VIP
- 2025 党校入党积极分子预备党员考试题库(含答案).docx VIP
- (高清版)-B-T 30146-2023 安全与韧性 业务连续性管理体系 要求.pdf VIP
- 猫病诊疗技术—猫静脉留置针放置技术.pptx VIP
- 保温装饰一体板施工技术交底.docx VIP
- 征信报告模板2025年新版可编辑带水印.pdf
文档评论(0)