27

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

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

  • 面板(对元素进行分组)
  • 菜单(可滚动)
  • 图标
  • 标签
  • 按钮
  • 折线图(可选)

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

4

13 回答 13

13

I would consider rolling your own "immediate mode" GUI. Jari Komppa has a good tutorial about them. It's a lot easier than you may think, and you'll probably find most GUI libraries--even those targeting embedded systems--are a bit heavy-weight for your system.

If you insist on using a third-party library, below are a few I found. I've never used any of them and they are probably fairly expensive.

于 2010-06-08T15:56:36.060 回答
5

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

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

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

这也可能有帮助

于 2014-12-16T18:09:34.027 回答
5

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

于 2010-06-08T14:39:16.527 回答
3

你应该看看Contiki [wikipedia.org]

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

为方便起见,这里是指向The Contiki Toolkit (CTK) 源代码的直接链接。

于 2010-08-25T18:54:26.860 回答
1

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

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

于 2012-11-17T22:10:46.827 回答
1

除了 Maygarden 法官的清单之外,RAMTEX 还提供专门针对小型图形 LCD 的库。再次不是免费的,但这是用于商业用途,请记住,如果您自己做,可能需要很多工时才能获得完美的产品,因此在构建自己的产品之前请考虑这一点。

按照我公司对我的时间负责的费率(而不是我的工资率),如果花费超过五个小时,我最好购买 Ramtex 库(如果只考虑我的工资率,大约需要两天) . 但是,如果您有时间和兴趣,这不是一项艰巨的任务,而且可能很有趣。

于 2010-06-08T18:49:15.270 回答
1

Atmel(现在归 Microchip 所有)实际上制作了一个针对其微控制器的 GUI 库

这是现在称为Microchip® 高级软件框架的一部分。

于 2015-05-06T07:09:43.283 回答
0

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

于 2010-06-11T17:15:16.717 回答
0

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

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

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

我在这里看到的几乎所有其他东西对于海报似乎要求的东西都太过分了。

于 2010-08-25T18:17:56.877 回答
0

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

这包括用于设计屏幕的 GUI 工具“ Graphics Display Designer X ”,并为您设计的屏幕输出“C”文件。

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

这是GUI工具的链接:点击这里

于 2014-11-12T07:22:06.417 回答
0

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

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

但是,它不是免费的。

于 2012-11-19T06:42:02.980 回答
0

您可能想看看 Nano-X 框架(以前称为 Microwindows): http: //www.microwindows.org/

它声称支持低至 16 位的 DOS 系统,所以我不确定它是否适合 8 位,但也许该库可以缩减为您需要的。

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

于 2010-06-08T18:05:06.903 回答
0

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

它完成了列表中的大部分事情。折线图即将推出。你可以很容易地将按钮组成为可重用的结构。

它带有用于许多显示器的模板驱动程序 - 取决于模板与您的显示器的匹配程度(颜色深度和界面是最大的问题),您可能能够使用未修改的代码或对其进行更改以适应。

于 2010-06-16T01:12:06.407 回答