
人机交互--用户接口设计
power_mcu
这个作者很懒,什么都没留下…
展开
-
用户接口设计一 设备驱动
在一个实时内核中,设计一个快速响应的接口远不止将一些菜单组合在一起这么简单。用户接口展现了实时设计问题中它自身的多样性。 许多用户接口程序员通常以他们所使用的图形环境作为范例,譬如Microsoft Windows,X,或者MS-DOS中的众多图形包的一个。这些工具包通常提供有一个主事件循环,由应用程序员去填充不同的回调函数。对应用程序员而言,大多数控制流程都被隐藏起来了。程序员并不原创 2013-01-02 17:26:44 · 1716 阅读 · 0 评论 -
用户接口设计二 轮询VS中断
对于CPU的外部事件进行检测,究竟是采用轮询还是中断,并没有一个正确的答案。在硬件支持外部中断的情况下,中断仅仅只是又多了一种选择的余地。如果系统没有采用RTOS,那么在应用程序执行时候,为了避免因为主程序执行的时间过长而导致其它输入事件的丢失,则中断可能是最好的方式。 在轮询系统中,即便是没有输入事件,由于仍然需要周期性的读取外部输入设备的状态,这会导致不必要的CPU开销。同样的系统如原创 2013-01-04 11:28:44 · 2002 阅读 · 3 评论 -
用户接口设计三 队列
不管输入事件是通过轮询任务检测到还是中断方式,事件都必须投放到队列中。如果RTOS提供了某种形式的队列,那就最好不过了。如果没有RTOS,则可以通过创建结构数组的环形缓冲区来充当队列。这里需要非常注意的一点是,在进行读取队列操作时候必须关闭中断,这可以避免在读取操作时候,中断服务函数向队列写数据,否则极易出现错误的结果。RTOS提供的队列通常已经提供了这种保护措施。 一旦队列满了之后,大原创 2013-01-05 08:15:40 · 1437 阅读 · 2 评论 -
用户接口设计四----多任务系统中的优先级
读取队列任务的优先级要比写入队列任务的优先级要低,这点非常重要。不然,一旦向队列中添加一个元素之后,高优先级的任务将会马上占有CPU并处理该元素。设备驱动任务将不能够做其它更多的操作直到高优先级任务因为再次等待队列而阻塞。因此,如果一个应用任务拥有比写入队列任务更高的优先级,它的控制流就如同在设备驱动任务以事件为参数调用了应用任务函数。如果应用任务花费的时间长于轮询周期,则会有事件丢失的可能。原创 2013-01-07 11:50:18 · 2056 阅读 · 2 评论 -
用户接口设计五----应用任务
应用程序代码对事件进行处理。应用代码的控制流程起源于一个循环,该循环对事件队列进行读取。对一个队列来说,多个写入者是可取的,但是一般来说最好只有一个读取者。如果你出现了需要多个读取者得情形,最好问问自己是否你真正需要的是多个队列。主循环最主要的特色是如何识辨EventQueueEntry并且如何选择调用合适的函数。有时候,我们应该考虑从用户接口不同部分产生的事件是否可以被不同的任务进行处理,通原创 2013-01-08 13:27:58 · 1537 阅读 · 2 评论 -
低资源嵌入式系统中用户界面设计的思路
有些概念先要弄清楚。你是否需要一个用户界面,通俗讲,在你的项目里设计的这个产品到底为啥配备一个液晶显示器。到底有多少参数,多少信息需要提供给用户。那些参数(运行参数)是可以修改的,那些参数(状态参数)是可以查看的。规划好这些之后再来着手用户界面的设计。归根到底,屏幕上面显示的内容大抵如下,无论再复杂,嵌套再深,最终只会归于以下三种状态:1. 信息显示。读取某个变量值,显示给原创 2013-02-24 11:50:44 · 2341 阅读 · 5 评论 -
嵌入式系统用户接口设计之裸机界面开发(一)
裸机界面开发一般指在不借助于现成的GUI库的情况下,构建整个应用系统的图形(文本)用户接口。通常一个完整的GUI库都会提供诸如窗口(界面)管理,事件生成,派发等等。除此之外,其还有其固定的一个编程框架,通常这种框架因为GUI库的不同略有差异,但到目前为止,基本大同小异。这些框架大都提供好了各种图形液晶的驱动接口,按键/触摸屏的接口以及其它事件接口。通常利用GUI框架完成设计工作,就是在这种框架下,原创 2013-07-17 21:38:31 · 4222 阅读 · 3 评论 -
嵌入式系统用户接口设计之裸机界面开发(二)
对于一个具体的屏幕来说。从层次上来看,导致进入它的情况有两种,一种是上层屏幕跳转进入,也就是它的PARENT 屏幕,还有一种就是从下层返回回来,也就是它的CHILD屏幕。记住,这里的PARENT,CHILD是我们人为的将屏幕进行层次化分类的结果。如果不进行分类,所有的屏幕都是处于同一层次上。为什么要进行层次分类呢,就像之前在进行屏幕设计时候提到的那样,我们不断的进行抽象,就是为了让事情越来越简单。原创 2013-07-22 18:26:50 · 2642 阅读 · 1 评论 -
嵌入式系统用户接口设计之裸机界面开发(三)
对于具体的界面系统来说,一般为三层左右,顶多四层,到了五层就比较讨厌了。至于六层,用户肯定想砸了产品。所以成功的界面设计不仅要合理组织好系统所需要提供给用户使用的界面,还要考虑用户的使用心理。菜单层次过多,带来的直接后果就是操作记忆麻烦。想象一下,你为了找个某个参数的设置项,最快需要按十几次按键,并记清楚层次关系,这种体验是非常糟糕的。因此,一定要把你的界面层次控制在四层以内。 对于大多原创 2013-07-23 19:44:45 · 3532 阅读 · 2 评论