网站大量收购独家精品文档,联系QQ:2885784924

《平台的μ/移植与图形界面设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《平台的μ/移植与图形界面设计

STM32平台的μC/GUI移植与图形界面设计 摘要:μC/GUI是一种专为嵌入式应用设计的通用图形接口软件。本文详细介绍了μC/GUI的结构框架和基于STM32平台的μC/OS-II上的μC/GUI移植过程,并在此基础上进行图形界面设计;阐述了μC/GUI的窗口管理机制,提出了实现μC/GUI中文小型字库的两种方法并采用存储设备解决了图形显示的闪烁问题。 关键词:μC/GUI移植;STM32平台;图形界面;中文小型字库;存储设备 引言 ??? 嵌入式系统的图形用户界面,要求具有占用资源少、性能高、可靠性高、可移植、可配置等特点,μC/GUI就是这样一种专门为嵌入式应用设计的图形用户界面软件。μC/GUI可应用于多任务环境中,同时使用实时操作系统与μC/GUI,既可以发挥优先级的实时性,又能实现良好的人机界面。本文使用Cortex-M3内核的STM32平台,介绍了基于STM32平台的μC/OS-II上的μC/GUI移植过程,并在此基础上开发了基于μC/GUI的图形用户界面。 1 μC/GUI结构框架 1.1 μC/GUI的文件组织 ??? μC/GUI软件采用模块化组织架构,其中较为重要的文件目录是配置文件目录Config和GUI库文件目录。考虑到未来升级方便,建议保持μC/GUI原有的目录结构,这样升级到新版本时只要覆盖原文件目录即可,而不会改变整个工程的文件路径。 ??? μC/GUI是一个源代码开放的图形系统,它提供了丰富的资源,包括二维绘图库,多字体、可扩充的字符集,Unicode,位图显示,多级RGB颜色管理及灰度处理调整机制,动画优化显示,具有Windows风格的对话框和预定义控件(按钮、编辑框、列表框、进度条、单选复选框、滑动条等);同时,支持键盘、鼠标、触摸屏等输入设备和双LCD的输出,提供占用极少RAM的窗口管理体系。各个子目录的路径及功能支持如表1所列。 1.2 μC/GUI的层次结构 ??? μC/GUI内核提供多种图形显示功能,用户程序通过API函数接口调用μC/GUI函数库中的各个功能函数,然后各个功能函数通过调用硬件驱动实现图形界面显示。 ??? 一个典型的包含有μC/GUI的软件系统可以理解为一个层次结构,详细的μC/GUI软件体系的层次结构如图1所示。 2 基于STM32平台的μC/GUI移植 2.1 STM32F103系列单片机和移植平台简介 ??? 硬件开发平台的核心是ST公司的STM32F103系列单片机,实时操作系统选择移植性较强的μC/OS-II。STM32F103系列单片机最高主频为72 MHz;片内多达51 2 KB的Flash并可以直接运行程序,片内还有64 KB的RAM;拥有众多的定时器、中断源和外设,内部集成了一个高速外部存储器接口FSMC总线,可以很方便地控制液晶显示模块。目标平台的液晶模块采用320×240分辨率,通过FSMC总线接口连接STM32F103单片机,并在系统的内存区开辟一块内存作为液晶显示的后台缓存。 2.2 μC/OS-II上的μC/GUI移植 ??? μC/GUI的移植内容主要分成4部分:μC/GUI配置文件的参数修改,LCD驱动程序的编写,LCD触摸屏驱动程序编写,以及与μC/OS-II操作系统相关接口部分的修改。 2.2.1 μC/GUI配置文件的参数修改 ??? 主要是根据系统的实际情况对GUI/Config目录下3个配置文件的参数进行修改,设计采用的LCD选用320×240的液晶显示模块,LCD控制器采用ili9320。 ??? LCDConf.h文件主要定义LCD控制器和显示屏尺寸及可选择的功能。修改如下: ??? ?? 2.2.2 LCD驱动程序的编写 ??? LCD的驱动程序在GUI/LCDDriver目录下,在本次移植中编写的ili9320.c驱动文件主要定义了GUI与LCD的硬件接口函数,包括画点、线、矩形、多边形、位图等二维图形的函数等等。μC/GUI所有的系统函数都是通过调用这些硬件接口来实现其功能的,而这些接口函数又可以通过调用画点函数来实现,可以认为几乎所有的μC/GUI显示功能都是通过最终调用画点函数来实现的。所以笔者的LCD驱动程序重点在画点函数的编写。代码如下: ??? 2.2.3 LCD触摸屏驱动程序的编写 ??? STM32F103通过SPI总线与触摸屏芯片相连,通常的方法是采用轮询的方法获取触摸屏的触点动作,这种方法不仅实时性差而且浪费单片机的执行周期。采用触摸屏的触点动作通过外部中断进行检测,在中断服务程序中获取触点的位置坐标,并通过调用函数GUI TOUCHStoreSta te(xScreen,yScreen),将触点坐标保存并通知μC/GUI。由于触摸屏和LCD的大小不一定完全相等,坐

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档