【第3版emWin教程】第36章 emWin6.x光标

教程不断更新中:第3版emWin教程和ThreadX GUIX教程开工,双管齐下,GUIX更新至第28章,emWin更新至第48章(2021-09-13) - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!icon-default.png?t=L892http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

第36章       emWin6.x光标

本期教程比较简单,给大家讲解光标(游标)的使用。在小型的嵌入式系统中,外接鼠标和键盘的情况比较少,所以光标的使用就显得不那么重要,不过在需要触摸校准的时候光标就比较重要了,可以帮助我们很方便的看出X,Y轴镜像和翻转问题。

目录

36.1 初学者重要提示

36.2 emWin支持的光标效果

36.3 模拟器上的光标例程

36.4 实验例程说明(RTOS)

36.5 实验例程说明(裸机)

36.6 总结


36.1 初学者重要提示

1、对于初学者来说,本章节比较简单,只需知道函数GUI_CURSOR_Show()是用来显示光标的,函数GUI_CURSOR_Hide()是用来隐藏光标的。

2、  光标所有API函数在emWin手册中都有讲解,下图是中文版手册里面API函数的位置

 

 

下图是英文版手册里面API函数的位置:

 

36.2 emWin支持的光标效果

 

 当前emWin支持的游标效果就是上面几种,初始化emWin后是不显示游标的,需要调用函数GUI_CURSOR_Show()才会显示出来,默认显示出来的是GUI_CursorArrowM(中箭头)。要选择其它的箭头可以调用函数GUI_CURSOR_Select()进行选择其它的箭头。STemWin进入到5.22版本后加入了动态的游标,效果如下:

 

36.3 模拟器上的光标例程

官方有一个例子是专门的演示游标的,将光标的各个API函数都演示了一遍,程序位置在:

 

对于这个例子,在我们emWin教程第1版的第23章简单进行了讲解,还有动态光标的显示也做讲解了,本次新升级的教程不再做讲解。

 

36.4 实验例程说明(RTOS)

配套例子:

V7-548_emWin6.x实验_光标(RTOS)

实验目的:

  1. 学习emWin的光标,可以手动触摸界面来看光标的移动。
  2. emWin功能的实现在MainTask.c文件里面。

实验内容:

1、K1按键按下,串口或者RTT打印任务执行情况(串口波特率115200,数据位8,奇偶校验位无,停止位1)。

2、(1) 凡是用到printf函数的全部通过函数App_Printf实现。

(2) App_Printf函数做了信号量的互斥操作,解决资源共享问题。

3、默认上电是通过串口打印信息,如果使用RTT打印信息:

MDK AC5,MDK AC6或IAR通过使能bsp.h文件中的宏定义为1即可

#define Enable_RTTViewer  1

4、各个任务实现的功能如下:

App Task Start   任务 :启动任务,这里用作BSP驱动包处理。

App Task MspPro任务 :消息处理,这里用作LED闪烁。

App Task UserIF  任务 :按键消息处理。

App Task COM   任务 :暂未使用。

App Task GUI    任务 :GUI任务。

μCOS-III任务调试信息(按K1按键,串口打印):

 

RTT 打印信息方式:

 

程序设计:

  任务栈大小分配:

μCOS-III任务栈大小在app_cfg.h文件中配置:

#define  APP_CFG_TASK_START_STK_SIZE                      512u

#define  APP_CFG_TASK_MsgPro_STK_SIZE                     2048u

#define  APP_CFG_TASK_COM_STK_SIZE                        512u

#define  APP_CFG_TASK_USER_IF_STK_SIZE                    512u

#define  APP_CFG_TASK_GUI_STK_SIZE                        2048u

任务栈大小的单位是4字节,那么每个任务的栈大小如下:

App Task Start   任务 :2048字节。

App Task MspPro任务 :8192字节。

App Task UserIF  任务 :2048字节。

App Task COM   任务 :2048字节。

App Task GUI    任务 :8192字节。

  系统栈大小分配:

μCOS-III的系统栈大小在os_cfg_app.h文件中配置:

#define  OS_CFG_ISR_STK_SIZE                      512u     

系统栈大小的单位是4字节,那么这里就是配置系统栈大小为2KB

emWin动态内存配置:

GUIConf.c文件中的配置如下:

#define EX_SRAM   1/*1 used extern sram, 0 used internal sram */

#if EX_SRAM
#define GUI_NUMBYTES  (1024*1024*24)
#else
#define GUI_NUMBYTES  (100*1024)
#endif

通过宏定义来配置使用内部SRAM还是外部的SDRAM做为emWin的动态内存,当配置:

#define  EX_SRAM     1 表示使用外部SDRAM作为emWin动态内存,大小24MB。

#define  EX_SRAM     0 表示使用内部SRAM作为emWin动态内存,大小100KB。

默认情况下,本教程配套的所有emWin例子都是用外部SDRAM作为emWin动态内存。

emWin界面显示效果:

800*480分辨率界面效果。

 

 

36.5 实验例程说明(裸机)

配套例子:

V7-547_emWin6.x实验_光标(裸机)

实验目的:

  1. 学习emWin的光标,可以手动触摸界面来看光标的移动。
  2. emWin功能的实现在MainTask.c文件里面。

emWin界面显示效果:

800*480分辨率界面效果。

 

emWin动态内存配置:

GUIConf.c文件中的配置如下:

#define EX_SRAM   1/*1 used extern sram, 0 used internal sram */

#if EX_SRAM
#define GUI_NUMBYTES  (1024*1024*24)
#else
#define GUI_NUMBYTES  (100*1024)
#endif

通过宏定义来配置使用内部SRAM还是外部的SDRAM做为emWin的动态内存,当配置:

#define  EX_SRAM     1 表示使用外部SDRAM作为emWin动态内存,大小24MB。

#define  EX_SRAM     0 表示使用内部SRAM作为emWin动态内存,大小100KB。

默认情况下,本教程配套的所有emWin例子都是用外部SDRAM作为emWin动态内存。

36.6 总结

游标显示的知识就跟大家讲这么多,相对来说比前面几期都要简单很多,实际应用中知道如何将其显示出来即可。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安富莱_STM32-V6开发板 emWin教程(v2.0) 安富莱_STM32-V6开发板是一款基于STM32系列芯片的开发板,搭载emWin图形库,本为v2.0。emWin是一种灵活、高效的嵌入式图形界面库,可以在各种嵌入式系统中用于开发用户界面。 emWin教程(v2.0)为用户提供了详细的使用指南,使他们能够快速上手并成功运用emWin库开发功能强大的图形界面。 教程主要包括以下内容: 1. emWin库的基本概念:介绍emWin库的功能和特点,包括图形绘制、文本显示、控件等。 2. 开发环境准备:教程会详细指导用户在使用STM32-V6开发板前需要做的准备工作,如下载安装MDK-ARM集成开发环境、配置开发板等。 3. 库安装和配置:教程会指导用户如何将emWin库正确安装到MDK-ARM开发环境中,并进行相关配置。 4. 图形界面设计:详细介绍如何使用emWin库进行图形用户界面设计,包括界面布局、界面元素自定义、触摸屏交互等。 5. 控件使用:指导用户如何使用emWin库中的各种控件,如按钮、滑动条、列表框等,以实现丰富的用户交互。 6. 网络功能集成:教程还会介绍如何在emWin图形界面中集成网络功能,如实现网络连接、数据传输等。 7. 实例演示:教程会提供一些实例演示代码,帮助用户更好地理解和掌握emWin库的使用方法。 通过学习emWin教程(v2.0),用户可以掌握emWin库的基本使用方法,了解如何设计和开发功能丰富的嵌入式图形界面。同时,用户还可以通过实例演示进一步加深对emWin库的理解,并在实际应用中灵活运用。 总之,安富莱_STM32-V6开发板emWin教程(v2.0)是一份全面、详细的指南,非常适合想要学习并使用emWin库进行嵌入式图形界面开发的开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值