前言:

大家在首次接触到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移植与使用(4/1)——框架介绍及emWin手册阅读相关推荐

  1. PC仿真的emwin移植到STM32F103RCT6详尽步骤(正点原子库,正点原子mini开发板,亲测可用,学习心得,大佬勿喷)

    所需要的硬件设备:正点原子mini开发板 (STM32F103RCT6,需要正点自带的240*320TFTLCD屏) 所需要的软件: 1.MDK5 2.Code::Blocks(PC上的IDE) 3. ...

  2. S3C2440移植linux3.4.2内核之内核框架介绍及简单修改

    文章目录 uboot启动内核分析 简单配置内核 编译内核 设置机器ID 修改晶振 移植Linux3.4.2内核其他文章链接: S3C2440移植linux3.4.2内核之内核框架介绍及简单修改 S3C ...

  3. iOS流媒体直播整个框架介绍(HLS、RTSP)

    iOS流媒体直播整个框架介绍(HLS.RTSP) 目录技术文章2016年7月17日 一.HTTP(WebService) 基于HTTP的渐进下载Progressive Download流媒体播放仅是在 ...

  4. 1. MyBatis框架介绍

    1. MyBatis框架介绍 1. 框架概述 程序开发中框架(framework)往往是对常见功能的封装,可以把框架理解为软件的设计规范或者标准化的组件,好比机械中的螺丝螺母等标准的机械部件 假如你要 ...

  5. iOS 常用框架介绍

    iOS框架介绍      Cocoa Touch GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游戏 ...

  6. Bluetooth应用层框架介绍

    .Bluetooth应用层框架介绍 Bluetooth应用框架 1)Applications:Android蓝牙应用程序,就是使用蓝牙的API的程序: 2)Java FW:提供给应用使用的API,我们 ...

  7. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  8. 2019年上半年收集到的人工智能开源框架介绍文章

    2019年上半年收集到的人工智能开源框架介绍文章 TensorFlow基本使用 TensorFlow.js:让你在浏览器中也能玩转机器学习 人工智能学习框架TensorFlow渐近分析 TensorF ...

  9. ESFramework网络通信框架介绍之(2)――网络通信消息NetMessage

    ESFramework网络通信框架与元数据 较之C++而言,.NET是一个更加"动态"的平台,其动态能力建立在反射机制之上,而反射的基础是"元数据". 上文已经 ...

最新文章

  1. Oracle DML、DDL、DCL的区别
  2. USTC English Club Note20211223
  3. XenDesktop 5.6 PVS6.1测试中出现的一例错误:Management Interface:Remote request failed
  4. leetcode1041困于环中的机器人
  5. Bootstrap--导航栏样式编辑
  6. ubuntu emacs的安装
  7. linux上验证cudnn是否安装成功_Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
  8. chrome控制台使用jquery
  9. 战之六 使用ADMT 3.2迁移用户和计算机
  10. QImage图片裁剪
  11. Ueditor编辑器 .Net 版
  12. 判断英语名词可数和不可数
  13. and什么意思计算机SQL,SQL语句中 AND和OR的区别,or是什么意思,那and和它有什么区别?...
  14. 盛迈坤电商:店铺推广的技巧分享
  15. Android 下标圆点数字
  16. 信奥中的数学:抽屉原理
  17. Spring AOP:搞清楚advice的执行顺序
  18. 从运维角度聊下:如何维护一套 DevOps 系统
  19. 苹果xr如何截屏_苹果手机如何单手操作截屏
  20. Ardiuno智能电蚊拍

热门文章

  1. ibdp课程体系中要选择经济课吗?
  2. 脑机接口再突破,让失语者能“说话”
  3. 程序员必看!2021最新京东Java面试题目附详细答案解析
  4. 【miscellaneous】监狱安防系统智能视频监控系统设计方案
  5. python:sine之舞
  6. 【CSS】如何设置文字在一排显示且有省略号
  7. 爬虫 JavaScript 逆向进阶!利用 AST 技术还原混淆代码
  8. bash参考手册之三(基本的Shell特性)续二
  9. 软考网络工程师上午考试知识点总结整理
  10. 我的2013,成功当选微软最有价值专家