浅谈人机交互msOSGUI设计

人机交互(Human-Computer Interac  TI on, 简写HCI):是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与计算机之间的信息交换过程。

从上面的定义,可能太抽象化了,用生活中的例子来说,假如你要吃水煮鱼,选择不同功能电磁炉,人的劳累程度不一样。怎么样才可以做出色香俱全的菜肴,不同电磁炉提供的交互方法不同,有些电磁炉可以通过设定长时间低功率把鱼和其他配料味道炖在一起, 有些只能调整功率,也是可以做出美味的,有些一键设置模式,按普遍规律固定方法煮鱼。

以上其实就是三种不同人机交互方式来完成相同功能,各有不同市场需求。

今天把我学习理解到的 msOS GUI 设计跟大家分享。

msOS 灵活运用结构体,仿C# 的风格,轻便的设计出在硬件 JN12864J LCD上可交互的显示GUI,

设计思想是按添加组件方法,灵活的处理多界面,不同数据类型显示及参数调整。采用面向对象及链表方式设计方式如

Form、Label及TextBox等控件,让图形界面设计非常简单而让设计者只关心业务逻辑设计。

具体见如下框图。

 浅谈人机交互msOSGUI设计_设计制作_接口/总线/驱动

表方式:

详细见如下函数

typedef struct LabelSelf

{

byte X; // display informa  TI on at X‘row loca  TI on,it’s only 4 row.

byte Y; //display informa  TI on at Y‘column location

byte Shift; //

int Offset;

DataType Type;

DataAlign Align;

void * DataPoint;

const string * StringBlockPoint;

struct LabelSelf * NextLabelPoint;//链表

}Label;

界面设计:mmi.c 文件,通过注册控件方式,比如一个界面就是一个Form,一个form 由Label 及TextBox 及 BackText 构成。其中BackText 为固定内容,动态数据由Label 及TextBox 来控制。

目前程序做了5个Form Logo、check,work,setup,service。拿一个最简单的Form 来分析。

System.Gui.Form.Initialize(&App.Menu.CheckForm);// 即一个LCD 界面,目前只是显示三个三角形,可以编写

实现自己公司的LOGO.

CheckChart.Character = ’*‘;

for(i = 0; i 《 16; i++)

{

CheckChart.Column = 0;

}

App.Menu.CheckForm.ChartPoint = &CheckChart;

业务逻辑部分已经包含到控件的结构体定义中去,我们只要编写函数改变控件中相应变量,相对应的分层文件为data.c

void InitializeData(void)

{

App.Data.Frequence = 980000;

App.Data.Power = 6000;

App.Data.PowerPercent = 12;

App.Data.Voltage = 99;

App.Data.Current = 101;

App.Data.Temperature = -25;

App.Data.State = 1;

App.Data.MaxPower = 6000;

App.Data.MaxTemperature = 50;

App.Data.MaxFrequence = 980000;

App.Data.MaxFrequenceOffset = 100000;

App.Data.MinStream = 50;

App.Data.SerialNumber = 0;

App.Data.ProductionDate = (13 《《 16) + (7 《《 8) + 24;

App.Data.IdentifyNumber0 = 0x12345678;

App.Data.IdentifyNumber1 = 0x34567890;

App.Data.IdentifyNumber2 = 0x56789012;

App.Data.IdentifyNumber3 = 0x78901234;

}

备注:GUi.c 中的一些函数设置很巧妙,必须要结合硬件驱动,这里驱动更加巧妙。

85
64
0
66

相关资讯

  1. 1、​智能音箱走入家庭,会带来哪些影响?1092
  2. 2、Ambrosus发布新开发者门户和网关应用程序编程接口(API)3722
  3. 3、三星发布1600万像素ISCOCELLSlim3P9图像传感器1455
  4. 4、CR-7iA协作机器人如何胜任装配生产线的自动化改造?4179
  5. 5、锐捷网络发布2019路由器技术发展趋势前瞻,灵活调度才能降本增效5057
  6. 6、美国开发出室温“磁振子开关”,可控制磁振子信号通过设备传输704
  7. 7、威盛推出数位照护平板智能语音病床卡,全力推动AI在医疗行业的发展660
  8. 8、瑞立视完成上海北斗无人机项目验收,专注于控制算法研发3113
  9. 9、上半年中国LED球泡灯出口18.02亿美元立达信/阳光/得邦位列前三391
  10. 10、赛晶电力电子首发自研国产IGBT芯片,按下国产化替代“破冰”加速键1824
全部评论(0)
我也有话说
0
收藏
点赞
顶部