信茂工控网
首页 > 嵌入式系统 > 嵌入式系统的人机界面原型设计策略探究自然环境中的交互体验优化方向

嵌入式系统的人机界面原型设计策略探究自然环境中的交互体验优化方向

在目标硬件尚未实现之前,通过PC机上的软件模拟人机界面原型设计是一项关键步骤。本文旨在探讨构建这种原型时所采用的工具语言、编写风格以及不同编程语言文件之间的接口问题,以便为仿真设计人员提供指导。构建人机界面原型对于设计初期理解接口要求和评估可用性至关重要。

我们将探讨一种方法,即在PC机上构建人机界面原型,这种方法的主要目的是使同一设计团队中的其他成员能够观察设备工作过程,并允许更广泛的评论对计划中的接口设计。此外,这种原型还可以用于硬件尚未准备就绪时,为人机界面的软件编写。

为了实现这一点,我们需要使用C、C++或嵌入式开发专用语言来控制PC显示器上的模拟接口。对于某些情况来说,可以假设最终目标硬件将使用C语言。在最简单的情况下,软件可能仅用于打开或关闭一个LED,或向小屏幕输出字符串。控制物理元件只需几行代码,因此微不足道。但真正复杂的是如何决定是否打开LED,以及显示哪个字符串。这通常涉及到复杂的逻辑判断,比如当传感器值超过警戒线时打开LED,或者根据用户选择显示菜单项。

我们的目的是创建一个可以运行于PC与目标设备上的文本显示和LED控制仿真软件。我们可以编写警报检查代码和菜单控制代码,使其既能运行于PC,又能运行于目标设备。这一方法虽然不新颖,但对于没有自带开发环境的小型设备,如PDA和游戏机,非常有用。

为了实现这个目的,我们采用了Borland C++(简称CPB),尽管它不是专门为嵌入式系统设计,但它非常适合我们的需求,并且不会限制我们到任何特定的处理器或结构上。CPB提供了一组预定义图形组件,其中大多数是针对桌面应用,而不是嵌入式项目。但是,它们中有一小部分适用于我们的目的,如LED这样的UI元素,可以通过图像进行模拟。

通过拖放环境插入按钮、滑块、标签等UI元素,然后生成一个表格框架,每个元素都有相应事件。在程序员选择响应哪些事件后,这些响应会被写成该表格产生的类成员函数。如果前台板由工业设计团队制作,则会有整个显示图片可供利用;如果物理原型已经存在,则数字相片作为背景即可使用。

我采用了图像目标(Timage)来展示大多数物理元件,因为它们允许引入位图并进行显示。我展示了包含五个按钮和四个LED的一个示例图像。当软件决定打开其中一个LED时,将该发光二极管图像设置为可见状态,从而点亮这些 LEDs 的图像覆盖不亮 LED 图像的一部分,有助于仿真物理屏幕的一部分,如文字“ALARM”。

在CPB中,每个属性都是类公共数据成员的一个表示,因此 Visible 属性只需简单分配操作就能改变。此外,还可以通过点击标注并设置属性窗口来改变颜色和字体等特殊状态属性。现在,让我们看一下 setAlarmState 函数,该函数驱动基于 CPB 的仿真:

void setAlarmState(Boolean state) {

PanelForm->AlarmIndicator->Visible = state;

}

这段 CPB 专用代码,在最终目标上无法直接运行。不久,我们将不得不为目标接口编写另一个版本,该版本如下:

void setAlarmState(Boolean state) {

if (state) {

ledRegister = 0x02;

} else {

ledRegister = ~0x02;

}

}

有时候,编程风格导致一些小函数造成较大的开销。在较小系统中,这是一个重要考虑因素,而且这些函数之一可以改写为宏或内联函数。我通常只在项目末尾才开始进行优化。

最后,如果我们已经撰写了两个版本的 setAlarmState 函数,那么必须确保一次只能编译其中一个版本。一种方法是在开始开发硬件之后,将所有 CPB 专用代码替换为专门针对硬件的代码。如果这样做,那么从那以后,就不能再次运行仿真。不过,即使硬件完成之后,仿真是仍然很有价值,比如因为 PC 调试环境通常比实际硬件要好得多,而且支持更好的调试功能。

标签:

猜你喜欢

嵌入式系统与物联网技术 人工湿地火山岩...
为什么选择人工湿地火山岩填料? 在城市化进程的推动下,绿色空间的减少成为了现代社会的一个普遍问题。如何在有限的空间内营造出一个既美观又具有生态价值的环境,...
linux基础命令表 不锈钢波纹管生...
材料选择与预处理 不锈钢波纹管的制造工艺首先涉及到材料的选择。常用的不锈钢材料包括304、316和321等,这些材料具有良好的耐腐蚀性和高强度。在选取这些...
rfid读写器 从非离子到离子...
在日常生活中,我们经常使用微波炉来加热食物,甚至用于消毒和杀菌。微波是电磁波的一种,它可以穿透物体表面并产生内部热量,从而加速食品的加热过程。但是,这种高...
计算机体系结构嵌入式系统 废旧不锈钢的回...
废旧不锈钢的回收价值探究:一斤多少钱? 在当今社会,随着工业化和现代化进程的不断推进,不锈钢作为一种耐腐蚀、强度高、寿命长的金属材料,其需求量日益增加。然...

强力推荐