emWin移植与使用(4/1)——框架介绍及emWin手册阅读

前言:

大家在首次接触到emWin图形库时,都会有一些疑问。我们应该如何在屏幕上使用GUI界面呢?使用GUI界面,我们需要做哪些操作呢?可不可以直接就可以使用emWin等等疑问?

完整的emWin库软件框架图:

因此我们在使用emWin图形界面库之前,需要完成LCD屏幕的驱动(正常显示文字、图形等)。然后我们通过完成LCD层、GUI层的设置与适配从而实现屏幕上显示基于emWin库的各种控件等。

获取emWin用户手册

1. 打开MDK软件,在MDK安装目录的ARM/pack/Keil/MDK-Middleware/X.X.X/emWin找到emWin目录中的Doc文件夹中找到emWin用户手册(UM03001_emWin.pdf)

2. 在emWin官网下载:https://www.segger.com/downloads/emwin/

阅读emWin用户手册

1. 先查看emWin用户手册中的Getting Started部分了解如何使用这份手册

2. 对于LCD屏幕中使用emWin的UI界面来说,只需要关注两部分:Display drivers、Configuration两章节

Display drivers章节阅读(建议这一章节反复阅读)

1. 了解Display drivers适用范围以及它们支持的LCD驱动芯片、以及如何自定义的驱动程序编写说明

2. 了解CPU与LCD控制器之间的连接方式。两种:直接连接、间接连接

直接连接:CPU通过地址总线直接将LCD的RGB数据与CPU系统上的内存实现映射关系。通过操作内存的方式直接控制LCD屏幕的显示颜色

间接连接:CPU不是通过内存映射的方式来操作LCD屏幕显示颜色的方式。比如:CPU通过SPI、IIC这样的接口来将数据写入到LCD屏中

直接连接与间接连接的区别:是否使用内存映射方式来将RGB数据传递给LCD屏幕

查看emWin已有驱动支持的LCD控制芯片

查看Run-time configurable drivers、Compile-time configurable drivers章节可以知道,当前emWin版本可以支持哪些LCD控制芯片。如果我们选择的LCD屏幕中的LCD驱动芯片被emWin支持了,那么我们就可以不用自己去实现驱动了。

查看emWin库的GUI配置

找到emWin用户手册的Configuration章节,浏览下此章节的内容。了解GUI的配置过程中一些函数的调用顺序以及注意事项等。后面等到我们实际移植emWin时再仔细确认

下一篇文章开始讲解,如何从零开始一步一步移植emWin...

 

 

 

emWin 图形库 图形用户界面 版本 5.12 手册修订版 0 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 9 1 emWin 简介....................................................................................................................23 1.1 本文档的目的 ............................................................................................24 1.2 假定 .......................................................................................................24 1.3 如何使用手册 .........................................................................................24 1.4 语法句子的印刷规范 ....................................................................................24 1.5 要求 .......................................................................................................25 1.5.1 目标系统 (硬件).......................................................................................25 1.5.2 开发环境 (编译器)....................................................................................25 1.6 特性 .......................................................................................................26 1.7 示例和演示 ...............................................................................................27 1.8 初学者套装 ...............................................................................................27 1.9 屏幕和坐标 ...............................................................................................27 1.10 如何将显示器连接到微控制器 .........................................................................28 1.11 数据类型..................................................................................................29 2 入门指南.........................................................................................................................31 2.1 推荐目录结构 ............................................................................................32 2.1.1 子目录 ....................................................................................................32 2.1.2 包含目录..................................................................................................32 2.2 添加 emWin 到目标程序...............................................................................32 2.3 创建库 ....................................................................................................33 2.3.1 改编库批处理文件以适应不同系统 ...................................................................33 2.4 要包含在项目中的 C 文件..............................................................................35 2.5 emWin 的配置 ..........................................................................................35 2.6 初始化 emWin ..........................................................................................36 2.7 有目标硬件时使用 emWin ............................................................................37 2.8 “Hello world”示例程序 .............................................................................37 3 模拟................................................................................................................................39 3.1 使用模拟..................................................................................................40 3.1.1 通过 emWin 试用版使用模拟 .........................................................................40 3.1.1.1 目录结构..................................................................................................40 3.1.1.2 Visual C++ 工作空间 .................................................................................40 3.1.1.3 编译演示程序 ............................................................................................41 3.1.1.4 编译示例..................................................................................................41 3.1.2 通过 emWin 源代码使用模拟 .........................................................................42 3.1.2.1 目录结构..................................................................................................42 3.1.2.2 Visual C++ 工作空间 .................................................................................42 3.1.2.3 编译应用程序 ............................................................................................43 3.1.3 模拟的高级功能 .........................................................................................43 3.1.3.1 暂停和恢复 ...............................................................................................43 3.1.3.2 查看系统信息 ............................................................................................43 3.1.3.3 复制到剪贴板 ............................................................................................43 3.2 设备模拟..................................................................................................44 3.2.1 生成的框架视图 .........................................................................................45 3.2.2 自定义位图视图 .........................................................................................45 3.2.3 窗口视图..................................................................................................46 3.3 设备模拟 API ............................................................................................47 3.4 硬键模拟..................................................................................................52 3.4.1 硬键模拟 API ............................................................................................5310 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 3.5 集成 emWin 模拟到现有模拟中...................................................................... 56 3.5.1 目录结构 ................................................................................................. 56 3.5.2 使用模拟库 .............................................................................................. 56 3.5.2.1 修改 WinMain .......................................................................................... 56 3.5.2.2 应用程序示例............................................................................................ 57 3.5.3 集成到 embOS 模拟中 ................................................................................ 58 3.5.3.1 WinMain................................................................................................. 58 3.5.3.2 目标程序 (main) ....................................................................................... 59 3.5.4 GUI 模拟 API ........................................................................................... 60 4 查看器 ............................................................................................................................63 4.1 使用查看器 .............................................................................................. 64 4.1.1 使用模拟和查看器 ...................................................................................... 64 4.1.2 使用带虚拟页面的查看器 .............................................................................. 65 4.1.3 总在顶部显示............................................................................................ 65 4.1.4 打开显示输出的更多窗口 .............................................................................. 65 4.1.5 缩放....................................................................................................... 66 4.1.6 将输出复制到剪贴板 ................................................................................... 66 4.1.7 使用带多种显示的查看器 .............................................................................. 67 4.1.8 使用带多种显示的查看器 .............................................................................. 67 5 显示文本.........................................................................................................................69 5.1 基本例程 ................................................................................................. 70 5.2 文本 API ................................................................................................. 71 5.3 显示文本的例程 ......................................................................................... 72 5.4 选择文本绘制模式 ...................................................................................... 79 5.5 选择文本对齐模式 ...................................................................................... 81 5.6 设置当前文本位置 ...................................................................................... 83 5.7 返回当前文本位置 ...................................................................................... 84 5.8 清除窗口或部分窗口的例程 ........................................................................... 84 6 显示数值.........................................................................................................................85 6.1 评估 API ................................................................................................. 86 6.2 显示十进制数值 ......................................................................................... 87 6.3 显示浮点数值............................................................................................ 91 6.4 显示二进制数值 ......................................................................................... 94 6.5 显示十六进制数值 ...................................................................................... 95 6.6 emWin 版 ............................................................................................... 96 7 2-D 图形库......................................................................................................................97 7.1 图形 API ................................................................................................. 98 7.2 绘制模式 ................................................................................................100 7.3 查询当前客户区矩形 ..................................................................................102 7.4 画笔大小 ................................................................................................102 7.5 基本绘制例程...........................................................................................103 7.6 Alpha 混合 .............................................................................................110 7.7 绘制位图 ................................................................................................113 7.8 绘制流位图 .............................................................................................116 7.9 绘制线条 ................................................................................................122 7.10 绘制多边形 .............................................................................................126 7.11 绘制圆 ...................................................................................................131 7.12 绘制椭圆 ................................................................................................133 7.13 绘制弧线 ................................................................................................135 7.14 绘制线图 ................................................................................................137 7.15 绘制饼图 ................................................................................................138 7.16 保存和恢复 GUI 环境 .................................................................................139 7.17 裁剪......................................................................................................140 8 显示位图文件 ...............................................................................................................141emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 11 8.1 BMP 文件支持 ......................................................................................... 142 8.1.1 支持的格式 ............................................................................................. 142 8.1.2 BMP 文件 API ......................................................................................... 142 8.2 JPEG 文件支持 ........................................................................................ 148 8.2.1 支持的 JPEG 压缩方法 ............................................................................... 148 8.2.2 将 JPEG 文件转换为 C 源 ............................................................................ 148 8.2.3 显示 JPEG 文件........................................................................................ 148 8.2.4 存储器使用 ............................................................................................. 149 8.2.5 渐进式 JPEG 文件..................................................................................... 149 8.2.6 JPEG 文件 API ........................................................................................ 149 8.3 GIF 文件支持 .......................................................................................... 154 8.3.1 将 GIF 文件转换为 C 源.............................................................................. 154 8.3.2 显示 GIF 文件 ......................................................................................... 154 8.3.3 存储器使用 ............................................................................................. 154 8.3.4 GIF 文件 API .......................................................................................... 155 8.4 PNG 文件支持 ......................................................................................... 163 8.4.1 将 PNG 文件转换为 C 源 ............................................................................. 163 8.4.2 显示 PNG 文件 ........................................................................................ 163 8.4.3 存储器使用 ............................................................................................. 163 8.4.4 PNG 文件 API ......................................................................................... 163 8.5 使用 ...Ex() 函数获取数据 .......................................................................... 167 9 字体..............................................................................................................................169 9.1 简介 ..................................................................................................... 170 9.2 字体类型................................................................................................ 170 9.3 字体格式................................................................................................ 172 9.3.1 C 文件格式 ............................................................................................. 172 9.3.2 系统独立字体 (SIF) 格式 ............................................................................ 172 9.3.3 外部位图字体 (XBF) 格式 ........................................................................... 173 9.3.4 TrueType 字体 (TTF) 格式 ......................................................................... 174 9.4 将 TTF 文件转换为 C 源.............................................................................. 174 9.5 声明自定义字体 ....................................................................................... 175 9.6 选择字体................................................................................................ 175 9.7 字体 API................................................................................................ 176 9.8 C 文件相关的字体函数 ............................................................................... 177 9.9 “SIF”文件相关的字体函数 ........................................................................ 178 9.10 “TTF”文件相关的字体函数 ........................................................................ 179 9.11 “XBF”文件相关的字体函数........................................................................ 183 9.12 常见字体相关的函数 .................................................................................. 184 9.13 字符集 .................................................................................................. 188 9.13.1 ASCII................................................................................................... 188 9.13.2 ISO 8859-1 西方拉丁字符集....................................................................... 189 9.13.3 Unicode................................................................................................ 190 9.14 字体转换器 ............................................................................................. 191 9.14.1 添加字体................................................................................................ 191 9.15 标准字体................................................................................................ 192 9.15.1 字体标识符命名约定 .................................................................................. 192 9.15.2 字体文件命名约定..................................................................................... 193 9.15.3 字体的计量、 ROM 大小和字符集 .................................................................. 193 9.15.4 比例字体................................................................................................ 194 9.15.4.1 概述 ..................................................................................................... 194 9.15.4.2 计量、 ROM 大小和使用的文件..................................................................... 194 9.15.4.3 字符 ..................................................................................................... 196 9.15.5 比例字体,带边框..................................................................................... 202 9.15.5.1 概述 ..................................................................................................... 202 9.15.5.2 计量、 ROM 大小和使用的文件..................................................................... 202 9.15.5.3 字符 ..................................................................................................... 202 9.15.6 等宽字体................................................................................................ 203 9.15.6.1 概述 ..................................................................................................... 203 9.15.6.2 计量、 ROM 大小和使用的文件..................................................................... 204 9.15.6.3 字符 ..................................................................................................... 20512 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 9.15.7 数字字体 (比例).....................................................................................209 9.15.7.1 概述......................................................................................................209 9.15.7.2 计量、 ROM 大小和使用的文件 .....................................................................209 9.15.7.3 字符......................................................................................................209 9.15.8 数字字体 (等宽).....................................................................................210 9.15.8.1 概述......................................................................................................210 9.15.8.2 计量、 ROM 大小和使用的文件 .....................................................................211 9.15.8.3 字符......................................................................................................211 10 位图转换器.................................................................................................................213 10.1 功能......................................................................................................214 10.2 加载位图 ................................................................................................214 10.2.1 支持的输入文件格式 ..................................................................................214 10.2.2 从文件加载 .............................................................................................214 10.2.3 使用剪贴板 .............................................................................................215 10.3 从位图生成 C 文件.....................................................................................215 10.3.1 支持的位图格式 ........................................................................................215 10.3.2 调色板信息 .............................................................................................215 10.3.3 透明性 ...................................................................................................216 10.3.4 Alpha 混合 .............................................................................................216 10.3.5 选择最佳格式...........................................................................................217 10.3.6 保存文件 ................................................................................................218 10.4 色彩转换 ................................................................................................219 10.5 生成 C 流文件 ..........................................................................................220 10.6 压缩位图 ................................................................................................220 10.7 使用定制调色板 ........................................................................................221 10.7.1 保存调色板文件 ........................................................................................221 10.7.2 C 文件格式..............................................................................................221 10.7.3 固定调色板模式的调色板文件 .......................................................................221 10.7.4 转换位图 ................................................................................................222 10.8 命令行用法 .............................................................................................222 10.8.1 命令的格式 .............................................................................................222 10.8.2 有效的命令行选项 .....................................................................................222 10.9 转换位图示例...........................................................................................224 11 颜色............................................................................................................................227 11.1 预定义的颜色...........................................................................................228 11.2 颜色条测试例程 ........................................................................................228 11.3 固定调色板模式 ........................................................................................229 11.4 固定调色板模式的详细说明 ..........................................................................230 11.5 应用程序定义的色彩转换 .............................................................................240 11.6 定制调色板模式 ........................................................................................241 11.7 颜色 API ................................................................................................241 11.8 基本颜色函数...........................................................................................242 11.9 索引和色彩转换 ........................................................................................244 12 存储设备.....................................................................................................................247 12.1 使用存储设备:图示 ..................................................................................248 12.2 支持的色彩深度 (bpp)................................................................................248 12.3 存储设备和窗口管理器................................................................................249 12.4 存储设备和多层 ........................................................................................249 12.5 内存要求 ................................................................................................249 12.6 性能......................................................................................................250 12.7 基本函数 ................................................................................................251 12.8 使用存储设备的准备操作 ... .........................................................................251 12.9 多层 / 多显示配置 .....................................................................................251 12.10 配置选项 ................................................................................................251 12.10.1 GUI_USE_MEMDEV_1BPP_FOR_SCREEN....................................................251 12.11 存储设备 API...........................................................................................251 12.12 基本函数 ................................................................................................253emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 13 12.13 分段存储设备 .......................................................................................... 266 12.14 自动设备对象 .......................................................................................... 267 12.15 测量设备对象 .......................................................................................... 269 12.16 动画函数................................................................................................ 271 12.17 动画函数 (需要使用窗口管理器)................................................................. 272 13 执行模型:单任务 / 多任务.........................................................................................277 13.1 支持的执行模型 ....................................................................................... 278 13.2 单任务系统 (超循环)............................................................................... 278 13.2.1 描述 ..................................................................................................... 278 13.2.2 超循环示例 (无 emWin).......................................................................... 278 13.2.3 优势 ..................................................................................................... 278 13.2.4 缺点 ..................................................................................................... 278 13.2.5 使用 emWin ........................................................................................... 278 13.2.6 超循环示例 (有 emWin).......................................................................... 279 13.3 多任务系统:一个任务调用 emWin ............................................................... 279 13.3.1 描述 ..................................................................................................... 279 13.3.2 优势 ..................................................................................................... 279 13.3.3 缺点 ..................................................................................................... 279 13.3.4 使用 emWin ........................................................................................... 279 13.4 多任务系统:多个任务调用 emWin ............................................................... 280 13.4.1 描述 ..................................................................................................... 280 13.4.2 优势 ..................................................................................................... 280 13.4.3 缺点 ..................................................................................................... 280 13.4.4 使用 emWin ........................................................................................... 280 13.4.5 建议 ..................................................................................................... 280 13.4.6 示例 ..................................................................................................... 280 13.5 支持多任务的 GUI 配置函数 ........................................................................ 281 13.6 支持多任务的 GUI 配置宏 ........................................................................... 283 13.7 内核接口 API .......................................................................................... 284 13.7.1 示例 ..................................................................................................... 287 14 窗口管理器 (WM) .......................................................................................................289 14.1 术语说明................................................................................................ 290 14.2 回调机制,无效化和渲染 ............................................................................ 291 14.2.1 不使用回调渲染 ....................................................................................... 291 14.2.2 使用回调渲染 .......................................................................................... 292 14.2.3 背景窗口重绘和回调 .................................................................................. 292 14.2.4 无效化 .................................................................................................. 293 14.2.5 渲染透明窗口 .......................................................................................... 293 14.2.6 自动使用存储设备..................................................................................... 293 14.2.7 自动使用多帧缓冲..................................................................................... 294 14.2.8 自动使用显示驱动缓存 ............................................................................... 294 14.3 消息 ..................................................................................................... 295 14.3.1 消息结构................................................................................................ 295 14.3.2 消息清单................................................................................................ 295 14.3.3 系统定义的消息 ....................................................................................... 296 14.3.4 指针输入设备 (PID) 消息............................................................................ 300 14.3.5 系统定义的通知代码 .................................................................................. 303 14.3.6 应用定义的消息 ....................................................................................... 303 14.4 配置选项................................................................................................ 304 14.5 WM API ................................................................................................ 305 14.5.1 使用 WM API 函数.................................................................................... 307 14.6 基本函数................................................................................................ 307 14.7 存储设备支持 (可选)............................................................................... 336 14.8 定时器相关函数 ....................................................................................... 336 14.9 小工具相关函数 ....................................................................................... 339 14.10 示例 ..................................................................................................... 342 15 窗口对象 (小工具)...................................................................................................34514 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 15.1 基础知识 ................................................................................................346 15.1.1 可用小工具 .............................................................................................346 15.1.2 了解重绘机制...........................................................................................347 15.1.3 如何使用小工具 ........................................................................................347 15.2 配置选项 ................................................................................................349 15.3 通用小工具 API ........................................................................................350 15.3.1 用于小工具的 WM 例程...............................................................................350 15.3.2 常用例程 ................................................................................................350 15.3.3 用户绘制小工具 ........................................................................................354 15.4 BUTTON:按钮小工具 ...............................................................................356 15.4.1 配置选项 ................................................................................................356 15.4.2 通知代码 ................................................................................................357 15.4.3 键盘反应 ................................................................................................357 15.4.4 BUTTON API ..........................................................................................357 15.4.5 示例......................................................................................................370 15.5 CHECKBOX:复选框小工具.........................................................................371 15.5.1 配置选项 ................................................................................................372 15.5.2 通知代码 ................................................................................................372 15.5.3 键盘反应 ................................................................................................372 15.5.4 CHECKBOX API ......................................................................................372 15.5.5 示例......................................................................................................386 15.6 DROPDOWN:下拉列表小工具 ....................................................................387 15.6.1 配置选项 ................................................................................................388 15.6.2 通知代码 ................................................................................................388 15.6.3 键盘反应 ................................................................................................388 15.6.4 DROPDOWN API.....................................................................................388 15.6.5 示例......................................................................................................400 15.7 EDIT:“编辑”小工具 ...............................................................................402 15.7.1 配置选项 ................................................................................................402 15.7.2 通知代码 ................................................................................................402 15.7.3 键盘反应 ................................................................................................403 15.7.4 EDIT API...............................................................................................403 15.7.5 示例......................................................................................................418 15.8 FRAMEWIN框架窗口小工具......................................................................419 15.8.1 框架窗口的结构 ........................................................................................420 15.8.2 配置选项 ................................................................................................421 15.8.3 键盘反应 ................................................................................................421 15.8.4 FRAMEWIN API ......................................................................................421 15.8.5 示例......................................................................................................442 15.9 GRAPH:图形小工具 .................................................................................443 15.9.1 图形小工具的结构 .....................................................................................443 15.9.2 创建和删除图形小工具................................................................................444 15.9.3 绘制过程 ................................................................................................444 15.9.4 支持的曲线类型 ........................................................................................444 15.9.4.1 GRAPH_DATA_XY ...................................................................................445 15.9.4.2 GRAPH_DATA_YT ...................................................................................445 15.9.5 配置选项 ................................................................................................445 15.9.5.1 图形小工具 .............................................................................................445 15.9.5.2 刻度对象 ................................................................................................445 15.9.6 键盘反应 ................................................................................................445 15.9.7 图形 API ................................................................................................445 15.9.7.1 常用例程 ................................................................................................447 15.9.7.2 GRAPH_DATA_YT 相关的例程.....................................................................455 15.9.7.3 GRAPH_DATA_XY 相关的例程.....................................................................459 15.9.7.4 刻度相关的例程 ........................................................................................463 15.9.8 示例......................................................................................................467 15.10 HEADER:标题小工具 ...............................................................................469 15.10.1 配置选项 ................................................................................................470 15.10.2 通知代码 ................................................................................................470 15.10.3 键盘反应 ................................................................................................470 15.10.4 HEADER API ..........................................................................................470emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 15 15.10.5 示例 ..................................................................................................... 482 15.11 ICONVIEW:图标视图小工具 ...................................................................... 483 15.11.1 配置选项................................................................................................ 483 15.11.2 通知代码................................................................................................ 484 15.11.3 键盘反应................................................................................................ 484 15.11.4 ICONVIEW API ...................................................................................... 484 15.11.5 示例 ..................................................................................................... 494 15.12 LISTBOX:列表框小工具 ........................................................................... 496 15.12.1 配置选项................................................................................................ 496 15.12.2 通知代码................................................................................................ 496 15.12.3 键盘反应................................................................................................ 496 15.12.4 LISTBOX API......................................................................................... 497 15.12.5 示例 ..................................................................................................... 513 15.13 LISTVIEW:Listview 小工具 ...................................................................... 514 15.13.1 配置选项................................................................................................ 515 15.13.2 通知代码................................................................................................ 515 15.13.3 键盘反应................................................................................................ 515 15.13.4 LISTVIEW API ....................................................................................... 516 15.13.5 示例 ..................................................................................................... 537 15.14 LISTWHEEL:Listwheel 小工具 .................................................................. 539 15.14.1 配置选项................................................................................................ 539 15.14.2 通知代码................................................................................................ 539 15.14.3 键盘反应................................................................................................ 539 15.14.4 LISTWHEEL API ..................................................................................... 540 15.15 MENU:菜单小工具 .................................................................................. 553 15.15.1 菜单消息................................................................................................ 554 15.15.2 数据结构................................................................................................ 555 15.15.3 配置选项................................................................................................ 555 15.15.4 键盘反应................................................................................................ 556 15.15.5 “菜单” API ........................................................................................... 556 15.15.6 示例 ..................................................................................................... 570 15.16 MESSAGEBOX:消息框小工具 .................................................................... 571 15.16.1 配置选项................................................................................................ 571 15.16.2 键盘反应................................................................................................ 571 15.16.3 MESSAGEBOX API.................................................................................. 571 15.17 MULTIEDIT:多行文本小工具 ..................................................................... 573 15.17.1 配置选项................................................................................................ 574 15.17.2 通知代码................................................................................................ 574 15.17.3 键盘反应................................................................................................ 574 15.17.4 MULTIEDIT API...................................................................................... 574 15.17.5 示例 ..................................................................................................... 584 15.18 MULTIPAGE:“多页”小工具 ..................................................................... 586 15.18.1 配置选项................................................................................................ 587 15.18.2 通知代码................................................................................................ 587 15.18.3 键盘反应................................................................................................ 587 15.18.4 MULTIPAGE API..................................................................................... 587 15.18.5 示例 ..................................................................................................... 598 15.19 PROGBAR:进度条小工具.......................................................................... 599 15.19.1 配置选项................................................................................................ 599 15.19.2 键盘反应................................................................................................ 599 15.19.3 PROGBAR API ....................................................................................... 599 15.19.4 示例 ..................................................................................................... 604 15.20 RADIO:单选按钮小工具 ........................................................................... 605 15.20.1 配置选项................................................................................................ 605 15.20.2 通知代码................................................................................................ 605 15.20.3 键盘反应................................................................................................ 606 15.20.4 RADIO API............................................................................................ 606 15.20.5 示例 ..................................................................................................... 615 15.21 SCROLLBAR:滚动条小工具....................................................................... 617 15.21.1 配置选项................................................................................................ 617 15.21.2 通知代码................................................................................................ 61716 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 15.21.3 键盘反应 ................................................................................................617 15.21.4 SCROLLBAR API .....................................................................................618 15.21.5 示例......................................................................................................625 15.22 SLIDER:滑块小工具 ................................................................................626 15.22.1 配置选项 ................................................................................................626 15.22.2 通知代码 ................................................................................................626 15.22.3 键盘反应 ................................................................................................626 15.22.4 SLIDER API ...........................................................................................626 15.22.5 示例......................................................................................................632 15.23 文本文本小工具 ........................................................................................633 15.23.1 配置选项 ................................................................................................633 15.23.2 键盘反应 ................................................................................................633 15.23.3 文本 API ................................................................................................633 15.23.4 示例......................................................................................................639 15.24 TREEVIEW:树形视图小工具.......................................................................640 15.24.1 术语说明 ................................................................................................641 15.24.2 配置选项 ................................................................................................642 15.24.3 通知代码 ................................................................................................642 15.24.4 键盘反应 ................................................................................................642 15.24.5 TREEVIEW API .......................................................................................643 15.24.5.1 常用例程 ................................................................................................644 15.24.5.2 项目相关例程...........................................................................................657 15.24.6 示例......................................................................................................662 15.25 WINDOW:窗口小工具..............................................................................663 15.25.1 配置选项 ................................................................................................663 15.25.2 键盘反应 ................................................................................................663 15.25.3 WINDOW API.........................................................................................663 16 对话框 ........................................................................................................................665 16.1 对话框的基本原理 .....................................................................................666 16.2 创建对话框 .............................................................................................666 16.2.1 资源表 ...................................................................................................666 16.2.2 对话框过程函数 ........................................................................................667 16.2.2.1 初始化对话框...........................................................................................668 16.2.2.2 定义对话框行为 ........................................................................................669 16.3 对话框 API..............................................................................................670 16.4 对话框 ...................................................................................................670 17 GUIBuilder .................................................................................................................673 17.1 简介......................................................................................................674 17.2 入门指南 ................................................................................................675 17.3 创建对话框 .............................................................................................676 17.3.1 选择父小工具...........................................................................................676 17.3.2 在编辑器中调整大小和定位 ..........................................................................676 17.3.3 修改小工具属性 ........................................................................................676 17.3.4 向小工具添加其他函数................................................................................676 17.3.5 删除小工具属性 ........................................................................................677 17.3.6 删除小工具 .............................................................................................677 17.4 保存当前的对话框 .....................................................................................678 17.5 GUIBuilder 的输出 ...................................................................................679 17.6 修改 C 文件 .............................................................................................681 17.7 如何使用 C 文件 .......................................................................................681 18 换肤............................................................................................................................683 18.1 “皮肤”是什么? ......................................................................................684 18.2 从使用 API 函数到换肤 ...............................................................................684 18.3 可换肤的小工具 ........................................................................................685 18.4 使用皮肤 ................................................................................................685 18.4.1 运行时间配置...........................................................................................686 18.4.2 编译时间配置...........................................................................................686emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 17 18.5 简单更改 “Flex”皮肤外观 ......................................................................... 686 18.6 对 “Flex”皮肤外观所作的重大更改 .............................................................. 687 18.6.1 换肤回调机制 .......................................................................................... 687 18.6.2 更改默认皮肤的外观 .................................................................................. 687 18.6.3 命令列表................................................................................................ 688 18.7 常用的换肤 API........................................................................................ 690 18.8 BUTTON_SKIN_FLEX .............................................................................. 693 18.8.1 配置结构................................................................................................ 693 18.8.2 配置选项................................................................................................ 693 18.8.3 换肤 API................................................................................................ 694 18.8.4 命令列表................................................................................................ 695 18.9 CHECKBOX_SKIN_FLEX .......................................................................... 696 18.9.1 配置结构................................................................................................ 696 18.9.2 配置选项................................................................................................ 696 18.9.3 换肤 API................................................................................................ 697 18.9.4 命令列表................................................................................................ 698 18.10 DROPDOWN_SKIN_FLEX......................................................................... 700 18.10.1 配置结构................................................................................................ 700 18.10.2 配置选项................................................................................................ 701 18.10.3 换肤 API................................................................................................ 701 18.10.4 命令列表................................................................................................ 702 18.11 FRAMEWIN_SKIN_FLEX .......................................................................... 703 18.11.1 配置结构................................................................................................ 703 18.11.2 配置选项................................................................................................ 704 18.11.3 换肤 API................................................................................................ 704 18.11.4 命令列表................................................................................................ 705 18.12 HEADER_SKIN_FLEX .............................................................................. 708 18.12.1 配置结构................................................................................................ 708 18.12.2 配置选项................................................................................................ 708 18.12.3 换肤 API................................................................................................ 709 18.12.4 命令列表................................................................................................ 709 18.13 PROGBAR_SKIN_FLEX ............................................................................ 711 18.13.1 配置结构................................................................................................ 711 18.13.2 配置选项................................................................................................ 711 18.13.3 换肤 API................................................................................................ 712 18.13.4 命令列表................................................................................................ 712 18.14 RADIO_SKIN_FLEX ................................................................................ 715 18.14.1 配置结构................................................................................................ 715 18.14.2 配置选项................................................................................................ 716 18.14.3 换肤 API................................................................................................ 716 18.14.4 命令列表................................................................................................ 717 18.15 SCROLLBAR_SKIN_FLEX......................................................................... 719 18.15.1 配置结构................................................................................................ 719 18.15.2 配置选项................................................................................................ 720 18.15.3 换肤 API................................................................................................ 720 18.15.4 命令列表................................................................................................ 721 18.16 SLIDER_SKIN_FLEX ............................................................................... 724 18.16.1 配置结构................................................................................................ 724 18.16.2 配置选项................................................................................................ 725 18.16.3 换肤 API................................................................................................ 725 18.16.4 命令列表................................................................................................ 726 19 多缓冲 ........................................................................................................................729 19.1 工作原理................................................................................................ 730 19.1.1 双缓冲 .................................................................................................. 730 19.1.2 三缓冲 .................................................................................................. 730 19.2 要求 ..................................................................................................... 731 19.3 限制 ..................................................................................................... 731 19.4 配置 ..................................................................................................... 731 19.4.1 LCD_X_Config() .................................................................................... 731 19.4.2 LCD_X_DisplayDriver()........................................................................... 73218 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co. KG 19.5 通过窗口管理器自动使用多个缓冲器 ...............................................................733 19.6 多缓冲 API..............................................................................................734 20 虚拟屏幕 / 虚拟页面 ...................................................................................................739 20.1 简介......................................................................................................740 20.2 要求......................................................................................................740 20.3 配置......................................................................................................741 20.4 示例.....................................................................................................741 20.4.1 基本示例 ................................................................................................741 20.4.2 使用窗口管理器的实时示例 ..........................................................................743 20.4.3 使用窗口管理器的对话框示例 .......................................................................744 20.5 虚拟屏幕 API...........................................................................................746 21 多层 / 多显示支持 .......................................................................................................747 21.1 简介......................................................................................................748 21.1.1 选择绘图操作所使用的层 .............................................................................748 21.1.2 选择窗口所使用的层 ..................................................................................748 21.1.2.1 把窗口从一层移到另一层 .............................................................................749 21.2 使用多层支持...........................................................................................751 21.2.1 透明......................................................................................................751 21.2.2 Alpha 混合 .............................................................................................752 21.2.3 硬件游标 ................................................................................................753 21.2.4 多层示例 ................................................................................................753 21.3 使用多显示支持 ........................................................................................753 21.3.1 启用多显示支持 ........................................................................................753 21.3.2 运行时间屏幕旋转 .....................................................................................754 21.3.3 多显示示例 .............................................................................................754 21.4 配置多层支持...........................................................................................754 21.5 配置多显示支持 ........................................................................................755 21.6 多层 API .......................................
免责声明 本文中所含的规格信息据信是准确的,但不担保完全没有错误。本手册中所含信息可能会因功能或性 能改善而变更,恕不另行通知。请确保您手中的手册是最新版本。虽然此处所提供信息据信是准确的, 但如有任何错误或疏漏, SEGGER Microcontroller GmbH & Co. KG (制造商)概不承担任何责 任。制造商不作(用户因而也不会获得)任何担保或条件,无论是明示的、暗含的、法定的还是以任 何函件形式与用户确认的。特别地,制造商拒绝承担任何适销性或特定目的适用性的担保。 版权声明 如无制造商的事先书面许可,不得截取本手册的任何部分或者以任何方式修改 PDF 文件。本文件中所述 软件基于许可证提供,且只能根据此许可证的条款进行使用或复制。 © 1997 - 2017 SEGGER Microcontroller GmbH & Co. KG, Hilden / Germany 商标 本手册中提及的名称可能是其各自所属公司的商标。 各品牌和产品名称均为其各自所有者的商标或注册商标。 联系地址 SEGGER Microcontroller GmbH & Co. KG In den Weiden 11 D-40721 Hilden Germany Tel.+49 2103-2878-0 Fax.+49 2103-2878-28 E-mail: support@segger.com Internet: http://www.segger.com 手册版本 本手册讲述的是最新软件版本。软件的版本编号请见本章节稍后的“软件版本”表。如有任何差错,请 通知我们,我们将尽快尽力为您提供帮助。 有关任何未明确的其他信息和程序,请联系我们。 印刷日期:July 31, 2017
emWin移植到FreeRTOS的过程相对简单。首先,你需要下载emWin和FreeRTOS的源码。然后,将emWin中lib中的库替换掉STemWIN的lib库,并将emWin源码中的Include文件夹下的所有头文件替换掉STemWin源码下的inc文件夹中的所有头文件。此外,还需要将STemWin源码中的IMAGE_Private.h头文件拷贝到emWin源码中,因为这个头文件在显示PNG图片时会被PNG解码库调用。另外,emWin源码中会有一个GUIConf.h文件,需要将其删除。这样,基本的emWin移植工作就完成了。\[2\] 接下来,你需要将emWinGUI_X_OS.c文件加入到工程中。由于你使用了操作系统,所以需要对这个文件进行修改。有些人在论坛上提到需要移植GUI_X_FreeRtos.c文件,但是你的源码中可能没有这个文件,只有GUI_X_OS.c。GUI_X_OS.c是针对CSMIS_OS层的移植,如果你没有移植CSMIS_OS.c,建议你在网上找一个GUI_X_FreeRtos.c文件并加入到工程中。GUI_X_FreeRtos.c中没有什么特别的东西,只是创建了两个信号量用于stemwin任务间的通信。你也可以直接移植GUI_X_OS.c,并修改GUI_X_InitOS()、GUI_X_GetTaskId()、GUI_X_WaitEvent()和GUI_X_SignalEvent()这几个函数。\[3\] 这样,你就完成了emWin移植到FreeRTOS的过程。 #### 引用[.reference_title] - *1* [FreeRtos+emwin在STM32F103ZET6上的移植笔记一(FreeRtos移植)](https://blog.csdn.net/qq_29619973/article/details/108315557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [GUI——emWIN嵌入式GUI带freeRTOS操作系统移植](https://blog.csdn.net/w464960660/article/details/95231467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [FreeRtos+emwin在STM32F103ZET6上的移植笔记二(emwin移植)](https://blog.csdn.net/qq_29619973/article/details/108316712)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值