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

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

在目标硬件尚未实现之前,通过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 调试环境通常比实际硬件要好得多,而且支持更好的调试功能。

标签:

猜你喜欢

8位单片机是不是嵌入式系统 瑰夏1V2H超...
瑰夏1V2H:超级明星对决的盛夏 是什么让瑰夏1V2H如此引人注目? 在这个充满激情和梦想的季节里,一个名为“瑰夏”的音乐节吸引了无数粉丝的注意。它不仅仅...
嵌入式系统三大组成部分 摄影与摄像的边...
镜头下的辨识:拍照片是摄影还是摄像 在当今的数字时代,随着智能手机和数码相机的普及,“拍照”这个词汇已经成为日常生活中不可或缺的一部分。然而,很多人可能会...
linux软件 影像世界的探索...
在今天这个信息爆炸的时代,随着科技的飞速发展,专业摄影和摄像技术也日益完善。无论是商业广告、电影制作还是个人兴趣爱好者,都需要高品质的图像来传达信息或记录...
tpm 子弹时间时光倒...
时间旅行的可能与挑战 在科幻小说和电影中,子弹时间通常是通过某种特殊装置或手段实现的。这种能力允许人物暂停周围环境的一切,甚至可以逆转过去发生的事情,这种...

强力推荐