日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制技術(shù)文庫(kù)
[導(dǎo)讀]   人機(jī)交互(Human-Computer InteracTIon, 簡(jiǎn)寫(xiě)HCI):是指人與計(jì)算機(jī)之間使用某種對(duì)話語(yǔ)言,以一定的交互方式,為完成確定任務(wù)的人與計(jì)算機(jī)之間的信息交換過(guò)程。

  人機(jī)交互(Human-Computer InteracTIon, 簡(jiǎn)寫(xiě)HCI):是指人與計(jì)算機(jī)之間使用某種對(duì)話語(yǔ)言,以一定的交互方式,為完成確定任務(wù)的人與計(jì)算機(jī)之間的信息交換過(guò)程。

  從上面的定義,可能太抽象化了,用生活中的例子來(lái)說(shuō),假如你要吃水煮魚(yú),選擇不同功能電磁爐,人的勞累程度不一樣。怎么樣才可以做出色香俱全的菜肴,不同電磁爐提供的交互方法不同,有些電磁爐可以通過(guò)設(shè)定長(zhǎng)時(shí)間低功率把魚(yú)和其他配料味道燉在一起, 有些只能調(diào)整功率,也是可以做出美味的,有些一鍵設(shè)置模式,按普遍規(guī)律固定方法煮魚(yú)。

  以上其實(shí)就是三種不同人機(jī)交互方式來(lái)完成相同功能,各有不同市場(chǎng)需求。

  今天把我學(xué)習(xí)理解到的 msOS GUI 設(shè)計(jì)跟大家分享。

  msOS 靈活運(yùn)用結(jié)構(gòu)體,仿C# 的風(fēng)格,輕便的設(shè)計(jì)出在硬件 JN12864J LCD上可交互的顯示GUI,

  設(shè)計(jì)思想是按添加組件方法,靈活的處理多界面,不同數(shù)據(jù)類型顯示及參數(shù)調(diào)整。采用面向?qū)ο蠹版湵矸绞皆O(shè)計(jì)方式如

  Form、Label及TextBox等控件,讓圖形界面設(shè)計(jì)非常簡(jiǎn)單而讓設(shè)計(jì)者只關(guān)心業(yè)務(wù)邏輯設(shè)計(jì)。

  具體見(jiàn)如下框圖。

  

  表方式:

  詳細(xì)見(jiàn)如下函數(shù)

  typedef struct LabelSelf

  {

  byte X; // display informaTIon at X‘row locaTIon,it’s only 4 row.

  byte Y; //display informaTIon at Y‘column location

  byte Shift; //

  int Offset;

  DataType Type;

  DataAlign Align;

  void * DataPoint;

  const string * StringBlockPoint;

  struct LabelSelf * NextLabelPoint;//鏈表

  }Label;

  界面設(shè)計(jì):mmi.c 文件,通過(guò)注冊(cè)控件方式,比如一個(gè)界面就是一個(gè)Form,一個(gè)form 由Label 及TextBox 及 BackText 構(gòu)成。其中BackText 為固定內(nèi)容,動(dòng)態(tài)數(shù)據(jù)由Label 及TextBox 來(lái)控制。

  目前程序做了5個(gè)Form Logo、check,work,setup,service。拿一個(gè)最簡(jiǎn)單的Form 來(lái)分析。

  System.Gui.Form.Initialize(&App.Menu.CheckForm);// 即一個(gè)LCD 界面,目前只是顯示三個(gè)三角形,可以編寫(xiě)

  實(shí)現(xiàn)自己公司的LOGO.

  CheckChart.Character = ’*‘;

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

  {

  CheckChart.Column = 0;

  }

  App.Menu.CheckForm.ChartPoint = &CheckChart;

  業(yè)務(wù)邏輯部分已經(jīng)包含到控件的結(jié)構(gòu)體定義中去,我們只要編寫(xiě)函數(shù)改變控件中相應(yīng)變量,相對(duì)應(yīng)的分層文件為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 中的一些函數(shù)設(shè)置很巧妙,必須要結(jié)合硬件驅(qū)動(dòng),這里驅(qū)動(dòng)更加巧妙。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉