加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

尽情畅快使用吧!独特GUI界面源码分享

2018/05/08
87
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
相关方案
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

ucGUI与emWin是众多嵌入式工程师编写显示界面的首选,但是随着版本的升级,对于商用GUI提出了专利费的要求,这也是国内小型企业所不愿意接受的。于是,编写了一份属于自己的独特GUI界面代码。作品采用stm32作为主MCU,驱动LCM12864进行显示。我们的任务是写自己的GUI,因此对其他外设资源要求不高。另能力仅属于中神级别,尚未炉炼至大神级别,因此我们先用单色LCM12864练手,此贴至此始终开源,供大家一起学习交流,把xlGUI丰富起来。

系统设计框图:

讲解:

1.xlGUI采用WM_Manage窗口管理器统一管理UI消息事件,用户交互消息(数据信息、按键事件等等)均通过WM_SendMessage发送至控件,由控件自行解析事件类型并响应消息;

2.整个工程中GUI_GDI是公共绘图接口,其作用是方便控件或者用户对显示屏进行绘制显示;

3.GUI_GDI统一调用GUI_Drive函数接口进行操作显存,本例程中,我们在GUI_GDI里面开辟了m_MemDev显示内存池,该内存池与显示屏显示像素一一对应,GUI_GDI所有函数默认直接操作显存池像素点。 显存刷新操作则统一由GUIDRV_DEVICE_API函数完成,用户不同类型的显示屏均可以通过编写GUI_Driver函数达到驱动显示目的。

制作成功实物图片:


说明:

作品全部使用C语言进行编写,通俗易懂,熟悉GDI界面编程的更加不会陌生。作品旨在提供小型GUI界面编程入门,并尽可能提供扩展接口,备注详细,方便各路嵌入式大神进行移植扩展维护,希望这版本GUI最终演化成能够替代ucGUI/emWin。

该项目设计来源于立创社区,设计资料仅供学习参考。

  • 硬件设计.zip
    描述:原理图和PCB源文件,用AD打开
  • 开源xlGUI.rar
    描述:GUI源代码
  • 原文出处及视频链接.txt
    描述:原文出处及视频链接

相关推荐

电子产业图谱