基于嵌入式stm32平台的_c_gui人机交互界面设计_王宪伟

基于嵌入式stm32平台的_c_gui人机交互界面设计_王宪伟

ID:5282703

大小:185.08 KB

页数:3页

时间:2017-12-07

基于嵌入式stm32平台的_c_gui人机交互界面设计_王宪伟_第1页
基于嵌入式stm32平台的_c_gui人机交互界面设计_王宪伟_第2页
基于嵌入式stm32平台的_c_gui人机交互界面设计_王宪伟_第3页
资源描述:

《基于嵌入式stm32平台的_c_gui人机交互界面设计_王宪伟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第24卷第10期长春大学学报Vol.24No.102014年10月JOURNALOFCHANGCHUNUNIVERSITYOct.2014基于嵌入式STM32平台的μC/GUI人机交互界面设计王宪伟,程广亮(长春大学电子信息工程学院,长春130022)摘要:针对目前人机交互界面越来越复杂的应用需求,设计了基于CortexTM-M4F内核的ARM嵌入式系统μC/GUI人机交互的实现方案,介绍了μC/GUI的窗口管理机制以及移植开发应用。实验表明,嵌入式系统中采用μC/GUI的设计方法,为人机交互LCD驱动移植及实

2、现提供了参考,在嵌入式系统应用环境下,具有较好的实用性和通用性。关键词:μC/GUI;嵌入式系统;人机交互;LCD中图分类号:TP216文献标志码:A文章编号:1009-3907(2014)10-1317-030引言μC/GUI是Micrium公司为嵌入式应用软件设计开发的一个通用图形支持系统,为任何使用图形显示[1]器的应用提供一个有效的不依赖于处理器和LCD控制器的图形用户接口。μC/GUI设计架构是采用模块化设计的,整体上为完全的标准C代码而编写,可以在任何的CPU上编程运行,更为重要的是μC/GUI开[

3、2]放源代码,有利于设计者的二次设计开发。μC/GUI提供了一个可扩展的2D图形库和占用极少RAM的TM窗口管理体系,非常适合如STM32经济型嵌入式终端产品的图形界面显示,在基于Cortex-M4F内核的STM32嵌入式系统中,采用uC/OS-II实时操作系统可以为嵌入式系统设计功能强大、人机交互良好的图形界面。1μC/GUI组织结构μC/GUI是一个源代码开放的GUI图形接口,源码由Config配置文件和LIB库函数文件组成,Config配置目录中包括3个配置头文件,相应的文件名分别为GUIConf.h、L

4、CDConf.h、GUITouchConf.h,用来对具体使用的uC/GUI图形接口、LCD驱动程序和触摸屏驱动程序进行配置。LIB库函数目录中又分为多个子目录,用于实现内核、调色板、字体、LCD驱动移植程序、触摸屏支持程序、窗口管理等。其中与进行移植相关的主要是驱动程序目录中的LCDDriver,根据具体的LCD类型修改其接口程序。掌握了μC/GUI目录组织[3]与模块结构,对于完成GUI图形接口的移植开发是非常重要的。由于篇幅所限详细内容参见文献。2系统硬件开发平台TM系统采用ST公司的Cortex-M4F

5、处理器核心的STM32系列芯片,STM32F373具有丰富的内部资源和处理速度,为我们实验上述嵌入uC/OS-II实时操作系统和μC/GUI图形界面提供了必要的硬件条件。主电路的连接原理框图如图1所示。图1STM32嵌入式系统硬件结构框图触摸屏选择TFT-LCD,内部MD050SD模块采用CPLD+SDRAM方式驱动RGB接口,分辨率为800×480,显示面板16M色彩,响应速度能达到200ns的读写周期,最快实现13桢的满屏刷新速度,集成8MB收稿日期:2014-06-28作者简介:王宪伟(1970-),男,

6、吉林榆树人,副教授,硕士,主要从事信号检测与处理方面的研究。1318长春大学学报第24卷SDRAM对应8页显示缓冲,可实现整页快速切换。同时,集成了4导线制触摸屏控制器XPT2046,能够更好的提高了人机交互的性能,尤其适合于在工业控制等领域的终端显示应用。3μC/GUI移植μC/GUI的移植一般需要对如下4个文件进行修改:配置参数文件,LCD驱动程序,触摸屏驱动程序以[4]及操作系统文件。1)代码移植主要工作是做好LCD底层驱动程序的修改,包含如下函数:①voidLCD_Init(void);//LCD硬件初

7、始化函数。②u16LCD_GetPoint(u16x,u16y)://获取(x,y)坐标的像素点③voidLCD_SetPoint(u16x,u16y,u16point)://把像素点写入(x,y)坐标点。2)在完成以上3个函数的编写工作后,可以进一步的在LCDDummy.C或LCDTemplate.C文件中添加相应的代码,完成对LCD底层驱动函数的修改。①添加LCD画点函数:voidLCD_L0_SetPixelIndex(intx,inty,intPixelIndex){/*Writeintohardwar

8、e...Adapttoyoursystem*/{/*...*/添加画点函数LCD_DrawPoint(xPhys,yPhys,PixelIndex);}}②添加获取像素点颜色函数:UnsignedintLCD_L0_GetPixelIndex(intx,inty){/*Readfromhardware...Adapttoyoursystem*/{/*...*/添加获取像素点颜色函数Pi

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

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

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