正点原子 stm32 emwin iconview 怎么用

正点原子 stm32 emwin iconview 怎么用,第1张

1)打开工程目录下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本会用emWin做项目,其他章节可以需要时再参考。

(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)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。

参考资料:嵌入式开发


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12326245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存