嵌入式设备界面设计与视频内存管理
1. 前端面板界面构建
在构建前端面板时,可使用按钮、LED 和小型纯文本 LCD 来打造有效的界面。扫描键盘或 LED 阵列能够减少所需的 I/O 线路数量,像闪烁的 LED 这类动态元素可以吸引用户的注意力,让用户知晓设备正在运行。设备的接受程度可能取决于用户交互的便捷性以及菜单系统的易操作性。
以某设备的前端面板设计为例,其硬件包含 HD44780 显示屏和 2x2 键盘,2.6 字符设备驱动lad_pad的源代码可作为内核模块的入门学习资料。UI 菜单系统采用状态机实现,分别用 C 语言和 JavaScript 进行了两次实现。C 语言实现使用标准输入输出,可与 Tcl/Tk 模拟器或真实前端面板相连;JavaScript 实现则利用图像映射处理前端面板按钮,并通过XMLHttpRequest()接收异步日志消息。
JavaScript 代码通过XMLHttpRequest()从与设备上运行的 Web 服务器绑定的 PHP 脚本请求警报状态。若没有警报,返回值为零。控制 LED 图像的 JavaScript 代码如下:
if (alarms > 0) { document.getElementById("led").innerHTML="<img src=led_flash.gif>"; } else { document.getElementById("led").innerHTML="<img src=led_of