Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 文本模式液晶显示器的用户界面_User Interface_Embedded - Fatal编程技术网

User interface 文本模式液晶显示器的用户界面

User interface 文本模式液晶显示器的用户界面,user-interface,embedded,User Interface,Embedded,有人知道这方面的资料吗 我正在为2x16液晶显示器开发一个嵌入式应用程序。理想情况下,我希望有一个通用(独立于显示器)框架,可以在任何显示器上使用-一个或多个段LED、1x16、2x16 LCD等。 还想了解有关此类小型用户界面的一般准则 编辑:我对高级功能感兴趣,即如何组织用户界面——菜单、选项和用户输入。这里我们不讨论LCD控制器的问题。如果您指的是2行16字符的显示器,它们通常是基于像素的,并且会有一个集成控制器,因为它们的控制要复杂得多。我过去使用过的2x16和4x16 LCD设备实际上

有人知道这方面的资料吗

我正在为2x16液晶显示器开发一个嵌入式应用程序。理想情况下,我希望有一个通用(独立于显示器)框架,可以在任何显示器上使用-一个或多个段LED、1x16、2x16 LCD等。 还想了解有关此类小型用户界面的一般准则


编辑:我对高级功能感兴趣,即如何组织用户界面——菜单、选项和用户输入。这里我们不讨论LCD控制器的问题。

如果您指的是2行16字符的显示器,它们通常是基于像素的,并且会有一个集成控制器,因为它们的控制要复杂得多。我过去使用过的2x16和4x16 LCD设备实际上有一个半字节宽的接口,命令以
[]]
样式发送到设备,有效命令所需的半字节数由命令本身决定。如果您链接到目标设备,If将非常有用,因为制造商之间似乎没有标准

对于分段LED和LCD,有一个标准布局,用于所谓的七段设备,该设备可以追溯到pixie管。以下是显示此分段的图表:

   a
  ---
f| g |b
  ---
e|   |c
  ---
   d

另一个问题是您是想直接驱动显示器还是使用控制器IC。驱动七段式LED非常容易,因为它们通常有一个公共的阴极或阳极,您只需要能够吸收或提供足够的电流。直接驱动LCD稍微复杂一些,因为应用于像素或片段的极性必须不断翻转,以避免损坏设备。找到一个集成时钟的控制器来执行此功能要容易得多。

我会为单线接口设计它,使用更多的线会给你更多的空间

我会选择至少4个按钮:

  • 菜单
  • 向上
  • 向下
如果指定线宽(如16),则这适用于16x2、16x1和16个7段显示。。。。在设计菜单上的文本时,您会考虑到这一点

如果您添加更多按钮,UI将更加有用,我会考虑这些按钮,按优先级排序,但这些按钮不是必需的:

  • 左右
  • 数字键
  • QWERTY
您将有一个主菜单,它将带您进入嵌套的子菜单或操作项

我举一个例子,假设你正在做一个数字时钟,它可以工作在16x1或16x2上

主屏幕大概是08:15PSUN101908 按下菜单键时,将显示一个菜单(设置时间、设置日期、设置报警、设置显示),上下移动项目,确定选择项目

如果选择“设置时间”,上下箭头将更改小时,OK将接受并移动到分钟选择…等

如果你有一个数字键盘,使用起来会更简单。

我不知道有哪个“项目”或库是为这个明确的目的而构建的

我建议您采用“显示层”代码的方法,该代码根据屏幕和字段的概念进行操作。屏幕负责“拥有”屏幕上的所有字段,字段负责指定显示的内容、字段影响的变量以及影响字段值的输入方法。字段还存储指向前置和后置字段设置/验证函数的任何函数指针


这样做将帮助您维护一个相当一致的UI。代码也将集中在一个位置,因此可能更容易调试。

类似任天堂的控制器制作简单,几乎可以用于任何应用程序。你只需要8把钥匙;4个用于D-pad,2个位于中间,2个用于A和B按钮。创建这种控制器非常简单,对用户来说非常直观。它也是用户可以握在手中的东西,使其比挂载控件更易于用户使用。

我认为1x16和2x16 LCD之间的差异如此巨大,以至于你不应该努力创建一个既能处理两者的GUI库,就像你不尝试创建一个既能处理诅咒又能作为后端处理Cocoa的GUI库一样(有人这样做了,但……错了)


由于很少显示,您的GUI应该非常面向域。。。也就是说,如果不知道你的领域是什么,我无法告诉你什么是好概念。

显示器的大小将对用户界面产生巨大影响

一行只够一个单级菜单,尽管我认为这也在推动它。我将所有的功能作为按钮和显示器只显示数据

对于多级菜单,两行就足够了。在菜单模式下,顶行用于指示它们在菜单树中的位置,第二行可用于菜单选项。我不会向菜单推荐很多级别,否则用户会忘记它们在哪里,并且很难记住菜单树中的内容。在功能模式下,顶行可用于指示所选功能,第二行用于指示数据。你可以通过按钮的上下菜单ok来解决问题,但我会考虑仍然使用专用于功能的按钮

4行适合菜单。与上面的布局类似,额外的行帮助用户记住它们在菜单树中的位置。这有助于他们将其具体化。在这种情况下,我建议使用上下菜单ok按钮,并且不要使用特定的功能键。特定的功能键有时会让用户对菜单范例感到困惑

我不会为1行或2行显示器的数字键盘而烦恼,完全放弃QWERTY键盘。如果你能负担得起把这么多的按钮放在前面的房地产,那么你就欠它的