自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

红金龙吸味的专栏

专注 人机界面/用户接口 设计

  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 文本显示器-静态文本控件功能一览

静态文本显示控件的功能基本定型了。顾名思义,静态文本就是显示预先设定好的静态文本字符串。字符串可以支持任意字符,可以在任意位置显示。字符串水平方向支持 左/中/右三种对齐方式。垂直方向支持 上/中/下 三种对齐方式。字符串外框支持 22 种显示风格。支持 闪烁方式 显示 ,快 / 中 /慢 三种闪烁方式。两种闪烁模式 : 正常 / 隐藏

2016-01-06 21:43:35 1523 6

原创 文本显示器--静态文本控件之文本绘制输出

花了几天的时间才慢慢整理出jingtai

2014-08-30 17:55:16 1695 2

原创 单片机程序构架--消息驱动机制

做过windows win32开发的人员都知道,win32整个程序都是消息驱动的。在嵌入式系统里面,消息驱动的好处是可以真正实现模块化编程。此外,可以大大简化程序的结构。方便程序的编写。由于消息机制的弱实时性,因此在某些强实时性的场合下,通过中断等方式来捕获到实时事件,再将此实时事件封装成消息,发送到相应的模块进行处理。这样程序结构不会耦合的那么厉害。另外,通过消息,可以方便的实现不同

2013-10-31 20:33:03 6962 4

原创 嵌入式系统用户接口设计之裸机界面开发(三)

对于具体的界面系统来说,一般为三层左右,顶多四层,到了五层就比较讨厌了。至于六层,用户肯定想砸了产品。所以成功的界面设计不仅要合理组织好系统所需要提供给用户使用的界面,还要考虑用户的使用心理。菜单层次过多,带来的直接后果就是操作记忆麻烦。想象一下,你为了找个某个参数的设置项,最快需要按十几次按键,并记清楚层次关系,这种体验是非常糟糕的。因此,一定要把你的界面层次控制在四层以内。    对于大多

2013-07-23 19:44:45 3422 2

原创 嵌入式系统用户接口设计之裸机界面开发(二)

对于一个具体的屏幕来说。从层次上来看,导致进入它的情况有两种,一种是上层屏幕跳转进入,也就是它的PARENT 屏幕,还有一种就是从下层返回回来,也就是它的CHILD屏幕。记住,这里的PARENT,CHILD是我们人为的将屏幕进行层次化分类的结果。如果不进行分类,所有的屏幕都是处于同一层次上。为什么要进行层次分类呢,就像之前在进行屏幕设计时候提到的那样,我们不断的进行抽象,就是为了让事情越来越简单。

2013-07-22 18:26:50 2583 1

原创 嵌入式系统用户接口设计之裸机界面开发(一)

裸机界面开发一般指在不借助于现成的GUI库的情况下,构建整个应用系统的图形(文本)用户接口。通常一个完整的GUI库都会提供诸如窗口(界面)管理,事件生成,派发等等。除此之外,其还有其固定的一个编程框架,通常这种框架因为GUI库的不同略有差异,但到目前为止,基本大同小异。这些框架大都提供好了各种图形液晶的驱动接口,按键/触摸屏的接口以及其它事件接口。通常利用GUI框架完成设计工作,就是在这种框架下,

2013-07-17 21:38:31 4048 3

原创 低资源嵌入式系统中用户界面设计的思路

有些概念先要弄清楚。你是否需要一个用户界面,通俗讲,在你的项目里设计的这个产品到底为啥配备一个液晶显示器。到底有多少参数,多少信息需要提供给用户。那些参数(运行参数)是可以修改的,那些参数(状态参数)是可以查看的。规划好这些之后再来着手用户界面的设计。归根到底,屏幕上面显示的内容大抵如下,无论再复杂,嵌套再深,最终只会归于以下三种状态:1. 信息显示。读取某个变量值,显示给

2013-02-24 11:50:44 2288 5

原创 用户接口设计五----应用任务

应用程序代码对事件进行处理。应用代码的控制流程起源于一个循环,该循环对事件队列进行读取。对一个队列来说,多个写入者是可取的,但是一般来说最好只有一个读取者。如果你出现了需要多个读取者得情形,最好问问自己是否你真正需要的是多个队列。主循环最主要的特色是如何识辨EventQueueEntry并且如何选择调用合适的函数。有时候,我们应该考虑从用户接口不同部分产生的事件是否可以被不同的任务进行处理,通

2013-01-08 13:27:58 1501 2

原创 用户接口设计四----多任务系统中的优先级

读取队列任务的优先级要比写入队列任务的优先级要低,这点非常重要。不然,一旦向队列中添加一个元素之后,高优先级的任务将会马上占有CPU并处理该元素。设备驱动任务将不能够做其它更多的操作直到高优先级任务因为再次等待队列而阻塞。因此,如果一个应用任务拥有比写入队列任务更高的优先级,它的控制流就如同在设备驱动任务以事件为参数调用了应用任务函数。如果应用任务花费的时间长于轮询周期,则会有事件丢失的可能。

2013-01-07 11:50:18 1960 2

原创 用户接口设计三 队列

不管输入事件是通过轮询任务检测到还是中断方式,事件都必须投放到队列中。如果RTOS提供了某种形式的队列,那就最好不过了。如果没有RTOS,则可以通过创建结构数组的环形缓冲区来充当队列。这里需要非常注意的一点是,在进行读取队列操作时候必须关闭中断,这可以避免在读取操作时候,中断服务函数向队列写数据,否则极易出现错误的结果。RTOS提供的队列通常已经提供了这种保护措施。    一旦队列满了之后,大

2013-01-05 08:15:40 1384 2

原创 用户接口设计二 轮询VS中断

对于CPU的外部事件进行检测,究竟是采用轮询还是中断,并没有一个正确的答案。在硬件支持外部中断的情况下,中断仅仅只是又多了一种选择的余地。如果系统没有采用RTOS,那么在应用程序执行时候,为了避免因为主程序执行的时间过长而导致其它输入事件的丢失,则中断可能是最好的方式。    在轮询系统中,即便是没有输入事件,由于仍然需要周期性的读取外部输入设备的状态,这会导致不必要的CPU开销。同样的系统如

2013-01-04 11:28:44 1876 3

原创 用户接口设计一 设备驱动

在一个实时内核中,设计一个快速响应的接口远不止将一些菜单组合在一起这么简单。用户接口展现了实时设计问题中它自身的多样性。    许多用户接口程序员通常以他们所使用的图形环境作为范例,譬如Microsoft Windows,X,或者MS-DOS中的众多图形包的一个。这些工具包通常提供有一个主事件循环,由应用程序员去填充不同的回调函数。对应用程序员而言,大多数控制流程都被隐藏起来了。程序员并不

2013-01-02 17:26:44 1637

原创 从单片机初学者迈向单片机工程师第二版第一章 究竟该如何学习

走进图书城,面对整排的单片机类技术书籍,看着一个个陌生的单片机型号,你是否茫然不知如何选择?就单片机内核体系结构而言,有51单片机,AVR单片机,PIC单片机,MSP430单片机, ARM系列内核等等。除了这些广为人知的之外,还有很多兼容上述某些内核体系的单片机。选择何种单片机作为入门学习的对象,往往成为困扰初学者最大的问题。我们可能道听途说,某某型号的单片机功能很丰富,某某型号的单片机市场使用量

2013-01-02 16:05:34 5634 14

原创 Delta(台达) HMI 历史缓冲区记录文件格式分析

转载请注明作者与出处,谢谢。 最近有个项目使用到台达的HMI,由于需要取出历史缓冲区里面的数据,并用自行开发的上位机软件读取显示数据,因此需要知道它的数据组织格式。一番网络搜索无果之后,遂决定自行研究。功夫不负有心人,经过几天研究,得成果若干,分享之。    台达人机历史缓冲区数据主要保存在HISTORY.DAT文件中,当选择掉电保存时候,该文件会出现在U盘或者是SD卡中。如下所示:

2012-12-22 16:44:55 4010 1

原创 单片机程序设计的十层功力-----你练到那一层了?

第一层 :   我来了第二层 真的打呀第三层 并肩作战,时间,说爱你不容易第四层 状态,你在哪里第五层 时间,还是时间第六层 丰富你的视界第七层 我们说好的第八层 别争了,让我来分配吧第九层 穿着操作系统去裸奔第十层 无招胜有招    第一层,我来了。处在这一层的典型是可以用C语言写简单的逻辑控制,如闪烁LED,简单数

2012-12-15 13:36:24 6588 11

原创 从单片机初学者迈向单片机工程师前传----写给初学者的话

学习和使用单片机也已经好几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来^_^。    好几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。经常

2012-12-15 13:07:02 2900 3

原创 文本显示器上位机-界面

由于项目原因,文本显示器上位机开发一直断断续续,计划赶不上变化......上两张静态文本框的效果图:

2012-12-14 13:35:33 2702 1

从单片机初学者迈向单片机工程师第二版第一章--究竟该如何学习

从单片机初学者迈向单片机工程师第二版第一章--究竟该如何学习

2013-01-02

Delta(台达) HMI 历史缓冲区记录文件格式分析

Delta(台达) HMI 历史缓冲区记录文件格式分析,如果自己需要写上位机处理该数据,则必须理解此文件格式

2012-12-22

font combobox

列举系统中的所有字体,并以字体样式显示字体名。

2012-11-09

从单片机初学者迈向单片机工程师--LED篇

早年在学校写的一系列文章。对于单片机编程思想介绍比较详细。适合进阶到工程师的人看。

2012-11-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除