一、什么是µC/GUI

µC/GUI为任何需要图形显示器的嵌入式应用提供了一种灵活的图形用户界面(GUI)。µC/GUI允许软件工程师在使用了LCD显示器的产品上增加美轮美奂的用户界面,从简单的2D黑白图形到像智能手机一样颜色多达32位/像素的图形。

二、移植过程

此移植的MCU为TM4C1233H6PM,LCD控制器为ILI9325/ILI9328,µC/GUI的版本为3.90a

1. 编写LCD驱动。

该驱动需要以下几个函数

  • LCD_Init:       LCD初始化函数(必须)
  • PixelDataSet: 设置屏幕上一点颜色值(画点)的函数(必须)
  • PixelDataGet: 获取屏幕上一点颜色值(读点)的函数(必须)
  • 水平画线函数(可选,优化用)
  • 垂直画线函数(可选,优化用)
  • 填充函数(可选,优化用)
1 extern void  PixelDataSet (short x, short y, short PixelIndex);                       //画点函数
2 extern short PixelDataGet (short x, short y); //读点函数
3 extern void RectangleFill(short x0, short y0, short x1, short y1, short PixelIndex); //填充函数,可以作为画线函数
4 extern void LCDInit (void); //画线函数

2. 将µC/GUI相关源文件添加到工程里

3. 修改以下源文件

  • 修改LCDDummy.c源文件

  • 修改GUIConf.h文件

  • 修改LCDConf.h文件

4. 初步调试移植效果

上面的修改紧使用了µC/GUI中最简单的一部分功能,在主函数中添加以下几行代码,看移植是否成功。

1     GUI_Init();                        // 初始化µC/GUI
2 GUI_SetFont(&GUI_Font8x16); // 设置字体
3 GUI_GotoXY(10,160); // 设置显示位置
4 GUI_DispString("Hello, uC/GUI!"); // 设置显示字符串内容

可以看到,µC/GUI已移植成功!

/×××××××××××××××××××××××××××××××××××××××× THE END××××××××××××××××××××××××××××××××××××××××××××/

[µC/GUI 学习]µC/GUI移植的更多相关文章

  1. Unity3D GUI学习之GUI窗口的使用

    GUI还可以定义一个窗口,在窗口里面进行控件的添加: using UnityEngine; using System.Collections; public class getbutton : Mon ...

  2. [学习一个] Matlab GUI 学习笔记 Ⅰ

    Matlab GUI 学习笔记 Ⅰ 1. Foreword Matlab 是严格意义上的编程语言吗?曾经有人告诉我他是通过 Matlab 学会了面对对象编程,我是不信的,但这依然不妨碍它在特殊领域的强 ...

  3. Java学习笔记-GUI

    Java也提供图像化编程 图形化 GUI(图形用户界面) GUI Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面,这样更方便更直观 CLI Co ...

  4. Java GUI学习,贪吃蛇小游戏

    JAVA GUI练习 贪吃蛇小游戏 前几天虽然生病了,但还是跟着狂神学习了GUI的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...

  5. 从零开始学习UNITY3D(GUI篇)

    邻近年底,心也有些散乱,加上工作忙了一阵,在达内培训的课程也落下了不少.对unity3d的热度似乎也有点点下降.痛定思痛,又在淘宝上买了写蛮牛网的视频.总之不管是用任何手段都要逼着自己不要浪费了培训的 ...

  6. Atitit.现在的常用gui技术与gui技术趋势评价总结

    Atitit.现在的常用gui技术与gui技术趋势评价总结 1. Gui俩种分类:  native 和 dsl 和 script1 2. 最好的跨平台gui技术h51 2.1. 几大技术体系(java ...

  7. 工具栏对象GUI Status 与GUI Title

    GUI Status 与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容, 可以通过se41\SE80或直接SE38中展开对象列表进行相关操作. 如下是在SE38里,点击[显示物 ...

  8. git gui 学习

    目的 自己以前使用过3,4个月的SVN,因为公司使用的是git,git gui.所以打算自学git gui,并记录一下学习心得.^_^ 原因 为什么不是学命令行而是用git gui呢.我觉得首先因为公 ...

  9. 从一点儿不会开始——Unity3D游戏开发学习(二) ——GUI控件之Button

    一些废话 我在上一篇“一点儿不会”的系列随笔中说大概一周会发个2~3篇关于Unity的学习笔记.可这就两周过去了,我还停留在一篇的进度上,主要是这两周发生了一些事情导致我更新缓慢.其实截至目前为止,上 ...

随机推荐

  1. 『学了就忘』Linux系统定时任务 — 87、只执行一次的定时任务

    目录 1.at服务管理 2.at命令的访问控制 3.at命令 4.其他at管理命令 5.总结 定时任务是在服务器上常用到的一个工作. 在你指定的时间,系统会自动执行你指定的程序(脚本或者命令). Li ...

  2. CF716A Crazy Computer 题解

    Content 有一个电脑,如果过了 \(c\) 秒之后还没有任何打字符的操作,就把屏幕上面所有的字符清空.现在,给定 \(n\) 次打字符的时间 \(t_1,t_2,...,t_n\),求最后屏幕剩 ...

  3. 7.2 Tornado异步

    7.2 Tornado异步 因为epoll主要是用来解决网络IO的并发问题,所以Tornado的异步编程也主要体现在网络IO的异步上,即异步Web请求. 1. tornado.httpclient.A ...

  4. 【LeetCode】934. Shortest Bridge 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS + BFS 相似题目 参考资料 日期 题目地 ...

  5. 1054 - Efficient Pseudo Code

    1054 - Efficient Pseudo Code    PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: ...

  6. 用C++创建Https客户端,用Mingw编译

  7. 第二十八个知识点:什么是公钥密码学的IND-CCA安全定义?

    第二十八个知识点:什么是公钥密码学的IND-CCA安全定义? 我们将在这篇博客中讨论公钥加密的IND-CCA安全. IND-CCA安全代表选择明文的不可伪造性.这样的安全方案的思想就是给定一个密文,攻 ...

  8. cosface: large margin cosine loss for deep face recognition

    目录 概 主要内容 Wang H, Wang Y, Zhou Z, et al. CosFace: Large Margin Cosine Loss for Deep Face Recognition ...

  9. Java高级大一结业认证考试试题 - 云南农业职业技术学院 - 互联网技术学院 - 美和易思校企合作专业

     第1题 .关于XML的文档结构描述错误的是 一个基本的XML文档通常由序言和文档元素两部分组成 XML文档中的序言可以包括XML声明.处理指令和注释 XML文档中的元素以树形结构排列 XML文档的声 ...

  10. Java高级程序设计作业目录(作业笔记)

    持续更新中............. Java高级程序设计笔记 • [目录] 我的大学笔记>>> 第1章 IO流>>> 1.1.3 编写Java程序,在电脑硬盘里, ...