用于微控制器的GUI库

时间:2010-06-08 13:23:22

标签: c user-interface frameworks embedded atmel

我想为微控制器(Atmel XMEGA)创建一个GUI驱动的应用程序,该应用程序连接到128x64点图形LCD(EA DOGL128-6)和4个用于导航的按钮。

控制显示器本身(例如绘制像素和字符)是没有问题但是为了防止我重新发明轮子我正在谷歌搜索用C编写的GUI-Library / -Toolkit ,包括其源代码,将在32 MHz 8位微控制器上运行,并提供至少以下控件:

  • 面板(对组元素)
  • 菜单(可滚动)
  • 图标
  • 标签
  • 按钮
  • line-graph(可选)

但我没有找到任何有用的东西。有没有人知道(或更好地使用)这样的图书馆(最好免费)?

13 个答案:

答案 0 :(得分:13)

我会考虑推出自己的“即时模式”GUI。 Jari Komppa有关于他们的good tutorial。它比您想象的要容易得多,并且您可能会发现大多数GUI库 - 甚至那些针对嵌入式系统的GUI - 对您的系统来说都有点重量。

如果您坚持使用第三方库,以下是我找到的一些。我从来没有使用它们,它们可能相当昂贵。

答案 1 :(得分:5)

我个人使用PEG(在工作中),但它不是免费的。你只需要编写一小部分改编并使用它。您还可以查看Qtminigui

答案 2 :(得分:3)

您应该查看Contiki [wikipedia.org]

除了作为许多8/16/32位微控制器的小巧优雅的操作系统外,它还具有GUI工具包。它运行在Atmel AVR上!

为方便起见,这里是The Contiki Toolkit (CTK) source code的直接链接。

答案 3 :(得分:3)

我还写了一个支持几乎所有显示技术的库:µGUI

http://www.embeddedlightning.com/ugui/

µGUI是嵌入式系统的免费开源图形库。它独立于平台,可以轻松移植到几乎所有的微控制器系统。只要显示器能够显示图形,µGUI不限于某种显示技术。因此,支持LCDTFTE-PaperLEDOLED等显示技术。整个模块包含两个文件:ugui.cugui.h.

这可能也有帮助

答案 4 :(得分:1)

除了Maygarden法官的名单RAMTEX之外,还提供专门针对小型图形LCD的图书馆。再次不是免费的,但这是用于商业用途,请记住,如果你自己做,可能需要很多工时才能获得抛光产品,所以在构建自己的产品之前要考虑一下。

按照我公司的费率计算我的时间(而不是我的工资率),如果花费超过五个小时,我最好购买Ramtex图书馆(如果你只拿我的工资率大约两天考虑到)。如果你有时间和倾向,这不是一项艰巨的任务,也许很有趣。

答案 5 :(得分:1)

Rich Quinnell提到 “......我看到了在STM32-F3 MCU上运行的Java应用程序演示......” http://www.microcontrollercentral.com/author.asp?section_id=1741&doc_id=253618

我想这就是你要找的东西?

答案 6 :(得分:1)

答案 7 :(得分:0)

您可能希望了解Nano-X框架(以前称为Microwindows):http://www.microwindows.org/

它声称支持16位DOS系统,所以我不确定它是否适合8位,但也许库可以减少到你需要的。

我没有使用它,但有一次考虑将其用于一些简单的显示UI(尽管在32位ARM系统上)。不幸的是,在我真正做任何事情之前,该项目已经改变了。我会对你对它的看法感兴趣(或者如果你决定尝试使用它,它的效果如何)。

答案 8 :(得分:0)

NuttX是微控制器的实时操作系统。作者已开始为它开发一些用于LCD显示器的gui原语。

答案 9 :(得分:0)

我们已经开始使用easyGui了,看起来不错。您可以在PC应用程序中设计屏幕,然后生成源代码 - 使设计阶段变得非常简单。

它完成了清单上的大部分工作。线图即将推出。你可以很容易地将按钮组成可重复使用的结构。

它附带了许多显示器的模板驱动程序 - 取决于模板与显示器的匹配程度(颜色深度和界面是最大的问题),您可以使用未经修改的代码或将其更改为适合。

答案 10 :(得分:0)

我一直在做类似的项目。我能找到的最近的东西在以下链接中,但我怀疑你会找到一个具有你想要的所有功能的库。这些只会设置基本的绘图功能,但它是一个开始。如果你四处寻找,还有一些有用的位图转换和字体创建工具。

http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/glcd_dcf77/index.html

http://en.radzio.dxp.pl/

我在这里看到的几乎所有其他内容对于海报似乎要求的东西来说都是过度杀伤。

答案 11 :(得分:0)

CodeVisionAVR开发环境现在具有XMEGA的图形库。

  

CodeVisionAVR C编译器具有强大的图形库   LCD分辨率从84x48到800x480像素。

然而,它不是免费的。

答案 12 :(得分:0)

您可以使用" Microchip图形库"免费。

这包括GUI工具" 图形显示设计器X "用于设计屏幕,这将输出" C"您设计的屏幕的文件。

我正在使用这个非常用户友好的工具,但是你看到的一些小部件可能找不到。

以下是GUI工具的链接: 点击here