(1)使用GUIBuilder V5.30创建如下页面并保存为C文件FramewinDLG.c,然后添加到脱机模拟仿真平台CodeBlocks的emwin工程:
(2)用BmpCvt.exe(可在”软件/资料下载”栏目下载)将48×48的图标PNG文件转成C文件并盯歼添加到CodeBlocks工程:
(3)在生成凯闷冲的FramewinDLG.c文件中需要更改罩毕图标的大小为64×64:
(4)在WM_INIT_DIALOG消息中(窗口初始化时程序跑到这里)添加ICONVIEW控件的初始化代码:
......
hItem = WM_GetDialogItem(pMsg->hWin, ID_ICONVIEW_0)
ICONVIEW_SetIconAlign(hItem, ICONVIEW_IA_TOP)
ICONVIEW_SetTextColor(hItem, ICONVIEW_CI_UNSEL, GUI_BLUE)
ICONVIEW_SetTextColor(hItem, ICONVIEW_CI_SEL, GUI_GREEN)
ICONVIEW_SetFrame(hItem, GUI_COORD_X, 0)//设置图标到IconView边框的间距
ICONVIEW_SetFrame(hItem, GUI_COORD_Y, 0)
ICONVIEW_SetSpace(hItem, GUI_COORD_X, (280-64*4)/3)//设置图标和图标之间的间距
ICONVIEW_SetSpace(hItem, GUI_COORD_Y, (140-64*2)/1)
ICONVIEW_SetFont(hItem, GUI_FONT_16_1)
ICONVIEW_AddBitmapItem(hItem, &bm01, "neqee")//添加图标项
ICONVIEW_AddBitmapItem(hItem, &bm02, "SOS")
ICONVIEW_AddBitmapItem(hItem, &bm03, "Phone")
ICONVIEW_AddBitmapItem(hItem, &bm04, "Camera")
ICONVIEW_AddBitmapItem(hItem, &bm05, "Email")
ICONVIEW_AddBitmapItem(hItem, &bm06, "NoteBook")
ICONVIEW_AddBitmapItem(hItem, &bm07, "JTV")
ICONVIEW_AddBitmapItem(hItem, &bm08, "Dollar")
......
(5) WM_NOTIFY_PARENT消息中( *** 作屏幕时程序跑到这里)添加点击提示程序:
switch(ICONVIEW_GetSel(WM_GetDialogItem(pMsg->hWin, ID_ICONVIEW_0)))
{
case 0: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "neqee")break
case 1: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "SOS")break
case 2: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "Phone")break
case 3: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "Camera")break
case 4: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "Email")break
case 5: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "NoteBook")break
case 6: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "JTV")break
case 7: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "Dollar")break
//case 8: TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_0), "Jobbet")break
}
(6)编译运行:
初学emWin的准备工作及其快速上手俗话说万事开头难,学习一门新的知识,难的往往不是知识本身,而是如何快速上手,需要什么资料和开发环境。一旦上手后,深入的学习就相对容易些了。
本章节就起到这样的作用,主要说明初学emWin需要做的准备工作。
2.1 初学者重要提示
2.2 开发环境
2.3 emWin参考资料
2.4. emWin的调试工具emWinSPY
2.5总结
2.1 初学者重要提示
我们的第一版emWin教程已经发布2年多了,经常有初学者会反映学习emWin很长时间了,一直还没有入门,最主要的原因在于学习方法上,对于初学者来说,要优先掌握以下三点:
1、学会emWin相关资源的获取方法,做到心中有数,要不心里老是没底。
2、学习emWin模拟器的使用。利用模拟器做前期的界面调试非常方便,可以大大降低界面的设计时间。另外就是学习模拟器中配套的大量参考例子的运行方法,这些参考例子极具参考价值。
3、学习GUIBuilder和uCGUIBuilder两款界面创建小工具的使用。通过这两个小工具,使得界面创建和排版布局变得很容易,一定程度上加快了界面的创建。
掌握了这三点后,一定要做大量实例的练习,因为实战才是学好emWin的最佳捷径,待有一定基础后,使用中只需查阅手册即可。另外,初学时不要一上来就研究emWin的底层驱动接口,比较影响初学的积极性,搞得后面越来越没有兴趣去研究了。穗宽
2.2 开发环境
1、模拟器开发环境推荐使用VC6.0,其它的VS2008,VS2010,VS2013也可以,其余的VS版本未做测试。
2、IDE:支持两种IDE开发环境,MDK和IAR
(1)MDK4.7X或者MDK5.XX均可,MDK4.7X以下的版本不行,因为低版本不支持STM32F429。
(2)IAR固定使用IAR7.5版本,由于IAR向下兼容性稍差,其它版本未做支持。
3、调试器使用J ,U 或者S 均可
4、配套开发板是安的:S V6开发板,MCU是S 。
2.3 emWin参考资料
2.3.1 S官方的英文版emWin用户手册
当前版本是emWin5.34(如果官方升级了新启行版本,大家使用最新版本即可,手册都是向下兼容的)。
2.3.2 周立功翻译的emWin5.12中文版用户手册
虽然中文版的版本有些低,但是对于初学者来说,这个版本已经够用了。大家可以在电子论坛进行下载。待emWin入门后,要逐渐的适应英文版的手册,5.12版本的中文版已经不够用了,很多新发布的控件都没有介绍。
2.3 emWin参考资料
2.3.1 S官方的英文版emWin用户手册
当前版猜旁亮本是emWin5.34(如果官方升级了新版本,大家使用最新版本即可,手册都是向下兼容的)。
2.3.2 周立功翻译的emWin5.12中文版用户手册
虽然中文版的版本有些低,但是对于初学者来说,这个版本已经够用了。大家可以在电子论坛进行下载 。待emWin入门后,要逐渐的适应英文版的手册,5.12版本的中文版已经不够用了,很多新发布的控件都没有介绍。
2.3.3 emWin模拟器的下载
emWin模拟器当前版本是emWin5.32。另外注意,下载模拟器是需要用户注册了S官网的账号后才可以下载。
细心的读者会发现手册是5.34版本,但是模拟器怎么是5.32版本?这是没有问题的,因为官网没有及时更新。另外本教程模拟器的使用是以5.32版本为基础的,如果官方升级了新版,并且模拟器做了修改,我们论坛进行了备份,下载地址:http://bbs.armfly.com/read.php?tid=23481 。
2.3.4 用于STM32的emWin软件包下载
用于STM32系列芯片的emWin软件包主要存放于STM32CubeF里面,所以要下载emWin软件包就需要下载STM32CubeF(ST官网资料需要用户注册账号才可以下载)。
1、用于STM32F1xx系列的的emWin软件包存放在STM32CubeF1里面
ST官网地址链接(这是个超链接)
2、用于STM32F4xx系列的的emWin软件包存放在STM32CubeF4里面
ST官网地址链接(这是个超链接)
3、用于STM32F7xx系列的的emWin软件包存放在STM32CubeF7里面
ST官方地址链接(这是个超链接)
对于上面的三个链接地址来说,STM32CubeF都是位于相应网页的最末端:
下面以STM32CubeF4 V1.13.0为例,打开路径:STM32Cube_FW_F4_V1.13.0\Middlewares\ST\StemWin可以看到如下文件,这些文件就是emWin软件包的内容:
2.4 emWin的调试工具emWinSPY
emWinSPY是一款比较实用的emWin调试软件。
emWinSPY是从5.2x版本才开始有的,但这个版本仅支持网口调试。网口调试有些麻烦,我们不考虑这种调试方式。到了emWin5.32版本开始支持JLINK调试了,但是测试发现emWin5.32版本无法使用emWinSPY,缺少函数定义,编译后会出现如下问题:
根据以往的经验(比如emWin多点触摸功能首次发布时也是缺少函数定义,待升级了几个版本后,可以正常使用了),估计会在后面的emWin版本中将这个功能开放出来,下面是emWinSPY的显示效果:
2.5 总结
本章节就为大家讲解这么多,建议初学者花些时间对emWin的用户手册了解一下,随着以后的学习最好可以达到熟练查看这个手册的程度。
emWin是仿正碰由德国SEGGER公司开发,可为图形LCD设计提供高级支持,极大简化了LCD设计。为恩智浦ARM微控制器用户免费提供的emWin图形库。在国内做嵌入式系统的大部分都使用emwins
其简单来说是图形库,做电子硬件开发,常常要为设计一个良好的UI伤透脑筋,写很多的代码也不尽人意,还要不断调试,emwin正是解决这种用户界面需求的图形库,只要在你的设计中嵌入这种图形库,就能备谈很方便使用里面的模块化设计,既能提高设计界面图形质量,还大大的减少开发时间。
拓展资料:
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上清搭,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
参考资料:嵌入式开发
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)