用于微控制器的GUI库
我想为微控制器( Atmel XMEGA )创建一个GUI驱动的应用程序,该应用程序连接到128×64点图形LCD( EA DOGL128-6 )和4个导航按钮。
控制显示器本身(例如绘制像素和字符)是没有问题的,但为了防止我重新发明轮子我正在谷歌搜索用C语言编写的GUI-Library / -Toolkit,包括其源代码,将在32 MHz 8位微控制器,至少提供以下控制:
- 面板(对组元素)
- 菜单(可滚动)
- 图标
- 标签
- 按键
- 线图(可选)
但我没有找到任何有用的东西。 有没有人知道(或更好地使用)这样的图书馆(最好免费)?
我会考虑滚动你自己的“立即模式”GUI。 Jari Komppa有一个关于它们的好教程 。 它比您想象的要容易得多,并且您可能会发现大多数GUI库 – 甚至是那些针对嵌入式系统的GUI – 对您的系统来说有点重量级。
如果你坚持使用第三方库,下面是我找到的一些。 我从来没有使用过它们,它们可能相当昂贵。
- 的emWin
- C / PEG
- easyGUI
我个人使用PEG (在工作中),但它不是免费的。 你只需要编写一小部分改编并使用它。 你也可以看看Qt或minigui 。
我还写了一个支持几乎所有显示技术的库: µGUI
http://www.embeddedlightning.com/ugui/
µGUI
是一个用于嵌入式系统的免费开源图形库。 它独立于平台,可以轻松移植到几乎所有的微控制器系统。 只要显示器能够显示图形, µGUI
就不限于某种显示技术。 因此支持LCD
, TFT
, E-Paper
, LED
或OLED
等显示技术。 整个模块由两个文件组成: ugui.c
和ugui.h.
这可能也有帮助
你应该看看Contiki [wikipedia.org]
除了作为许多8/16/32位微控制器的小巧优雅的操作系统外,它还具有GUI工具包。 它运行在Atmel AVR上!
为方便起见,这里是Contiki Toolkit(CTK)源代码的直接链接。
除了Maygarden法官的名单外, RAMTEX还提供专门针对小型图形LCD的库。 再次不是免费的,但这是用于商业用途,请记住,如果你自己做,可能需要很多工时才能获得抛光产品,所以在构建自己的产品之前要考虑一下。
按照我公司的费率计算我的时间(而不是我的工资率),如果花费超过五个小时,我最好购买Ramtex图书馆(如果你只考虑我的工资率,大约两天) 。 如果你有时间和倾向,这不是一项艰巨的任务,也许很有趣。
NuttX是微控制器的实时操作系统。 作者已经开始为它开发一些用于LCD显示器的gui原语。
Atmel实际上制作了一个针对其微控制器的GUI库 。
您可能想看看Nano-X框架(以前称为Microwindows): http : //www.microwindows.org/
它声称支持16位DOS系统,因此我不确定它是否适合8位,但也许该库可以减少到你需要的。
我没有使用它,但有一次考虑将其用于一些简单的显示UI(尽管在32位ARM系统上)。 不幸的是,在我真正做任何事情之前,该项目已经改变了。 我对你对它的看法感兴趣(或者如果你决定尝试使用它,它的效果如何)。
我们已经开始使用easyGui了,看起来不错。 您可以在PC应用程序中设计屏幕,然后生成源代码 – 使设计阶段变得非常简单。
它完成了清单上的大部分工作。 线图即将推出。 您可以很容易地将按钮组成可重复使用的结构。
它附带了许多显示器的模板驱动程序 – 取决于模板与显示器的匹配程度(颜色深度和界面是最大的问题),您可以使用未经修改的代码或更改它以适应。
我一直在做一个类似的项目。 我能找到的最近的东西在以下链接中,但我怀疑你会找到一个具有你想要的所有function的库。 这些只会设置基本的绘图function,但它是一个开始。 如果你四处寻找,还有一些有用的位图转换和字体创建工具。
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/glcd_dcf77/index.html
我在这里看到的几乎所有其他内容对于海报似乎要求的东西来说太过分了。
Rich Quinnell提到“……我看到了在STM32-F3 MCU上运行的Java应用程序的演示……” http://www.microcontrollercentral.com/author.asp?section_id=1741&doc_id=253618
我想这就是你要找的东西?
CodeVisionAVR开发环境现在具有XMEGA的图形库。
CodeVisionAVR C编译器具有强大的LCD图形库,分辨率从84×48到800×480像素。
但是,它不是免费的。
您可以免费使用“ Microchip图形库 ”。
这包括用于设计屏幕的GUI工具“ Graphics Display Designer X ”,它会为您设计的屏幕输出“C”文件。
我正在使用这个非常用户友好的工具,但是你看到的一些小部件可能找不到。
这是GUI工具的链接:点击这里 !