[µC/GUI 学习]µC/GUI移植
一、什么是µ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××××××××××××××××××××××××××××××××××××××××××××/
转载于:https://www.cnblogs.com/mr-bike/p/3526318.html
[µC/GUI 学习]µC/GUI移植相关推荐
- 推荐一款不错的嵌入式GUI(玲珑GUI)及在嵌入式linux上的移植
玲珑GUI介绍 玲珑GUI(LLGUI)是一套使用简单.低价的单片机GUI解决方案.可以用来代替串口屏.组态,降低产品成本,产品软硬件自主可控. 配套界面开发软件,图形化编辑界面,生成C代码. 如其名 ...
- java的图形用户界面_Java学习之GUI(图形用户界面)
一.GUI 概述 1.概述: 1.GUI:Graphical User Interface,即图形用户界面,用于计算机与用户交互的一种方式 2.计算机与用户交互的形式:GUI和CLI GUI: Gra ...
- GuiLite开源GUI学习(二):控件
开源GUI学习 简单类 theme bitmap word c_wnd-难点 控件管理 消息传递 控件-继承自c_wnd button dialog edit keyboard label list_ ...
- Matlab GUI学习02:使用GUIDE开发图形界面程序
pdf版本笔记的下载地址: Matlab GUI学习02_使用GUIDE开发图形界面程序(访问密码:3834) Matlab GUI学习02:使用GUIDE开发图形界面程序 GUIDE GUIDE简介 ...
- java gui 结构_java gui教学图形界面的层次结构.ppt
java gui教学图形界面的层次结构.ppt 还剩 13页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 事件 ...
- wxpython有没有可视化设计_wxPython - GUI Builder工具( GUI Builder Tools)
wxPython - GUI Builder工具( GUI Builder Tools) 通过手动编码创建美观的GUI可能很乏味. 可视化GUI设计器工具总是很方便. 许多针对wxPython的GUI ...
- 工具栏对象GUI Status 与GUI Title
GUI Status 与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容, 可以通过se41\SE80或直接SE38中展开对象列表进行相关操作. 如下是在SE38里,点击[显示物 ...
- freeRtos学习笔记 (9) 移植和CPU利用率统计
freeRtos学习笔记 (9) 移植和CPU利用率统计 使用官方固件移植 首先准备一个能跑的裸机工程 注意,freertos需要使用systick定时器,而stm32HAL库默认使用systick作 ...
- UBOOT学习1——UBOOT移植流程
UBOOT学习1--UBOOT移植流程 1.创建板级目录 在board/ 目录下创建目录更改文件(使用imx6ull) (1)创建板级.c文件 (2)更改镜像配置文件imximage.cfg 2.创建 ...
最新文章
- Oracle查询性能优化
- jenkins如何实现重新发布历史构建记录里的版本
- 缓存框架(Java缓存)与框架缓存(介绍mybatis缓存)
- 机房收费系统之抽象工厂篇
- JZOJ 5305. 【NOIP2017提高A组模拟8.18】C
- GDCM:变更dcm文件的序列的测试程序
- Alibaba Sentinel规则持久化-拉模式-手把手教程【基于文件】
- Mybatis 原始Dao层开发
- Java自动化测试框架-07 - TestNG之Factory篇 - (详细教程)
- python获取网站window全局对象或方法的返回值
- 解决布线困难的小方法-----无线路由器变身交换机
- OpenGL学习笔记(13)位图与文字
- zone在linux中的含义,linux-日常运维-firewalld的9个zone
- c程序语言难么,c语言难不难
- 正方形数组的数目(DAY 81)
- 计算机专业学习规划,计算机专业学习计划.doc
- 很雷很有财也很搞笑的笔试答题
- 科研论文中的图片如何保证高清
- Linux信号量(3)-内核信号量
- PythonGUI 使用Tkinter写一个简单时间间隔计算器
热门文章
- numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用
- pwn波c语言程序,pwn的一些命令
- 计算机教育的进制转换,计算机数制及编码进制转换公开课教学教育资料.doc
- c字符串截取一部分字符串_Python如何截取一段字符串?
- python手机号码正确编程_python 小练习之生成手机号码
- android开启前台服务_如何在PC端一次性开启Tasker的所有权限和服务
- rabbitmq 取消消息_SpringBoot整合RabbitMQ实现延迟消息
- linux设置python3为默认python_Ubuntu 18.04将Python3设置为Python默认版本
- 这门国产语言终于要发布 1.0 版本了
- 一文带你学C语言,详细知识点思维导图!