基于Linux和MiniGUI的心電監護儀設計
2. 2 圖形用戶(hù)界面MiniGUI
MiniGUI 是基于Linux 的輕量級的圖形用戶(hù)界面支持系統,是由原清華大學(xué)教師魏永明主持開(kāi)發(fā),遵循GPL 公約。所支持的操作系統已不僅僅限于Linux,它還可以在uClinux、uC /OS-Ⅱ、eCos 和Vx-Works 等系統上運行。已驗證的硬件平臺包括Intelx86,ARM ( ARM/AMR9 /StrongARM/xScale ) ,Power-PC,MIPS,M68K ( DragonBall /ColdFire ) 等。對MiniGUI 移植,首先下載MiniGUI 的源代碼libminigui-1. 6. 10. tar. gz ( MiniGUI 函數庫源代碼) 和minigui-minigui-res-1. 6. 10. tar. gz( MiniGUI 所使用的資源,包括基本字體、圖標、位圖和鼠標光標) ,然后編譯安裝并將MiniGUI 的資源拷貝到目標平臺上,最后修改目標平臺的/etc /MiniGUI. cfg 文件,對目標平臺MiniGUI 的運行環(huán)境進(jìn)行配置。
2. 3 心電采集界面設計
2. 3. 1 主界面
MiniGUI 中有3 種窗口類(lèi)型: 主窗口、對話(huà)框和控件窗口,心電采集界面是采用對話(huà)框進(jìn)行設計,對話(huà)框編程是一種快速構建用戶(hù)界面的技術(shù),MiniGUI提供了一種基于模板的機制,利用DLGTEMPLATE和CTRLDATA 兩個(gè)結構體來(lái)表示,DLGTEMPLATE用來(lái)定義對話(huà)框本身,結構體CTRLDATA 用來(lái)定義控件。利用這兩個(gè)結構體模板,用戶(hù)可以根據需要在程序中定義自己的對話(huà)框和控件。主界面的對話(huà)框定義如下:
static DLGTEMPLATE DlgInitProgress =
{
WS_BORDER WS_CAPTION,
WS_EX_NONE,
0,0
, 240, 320,
歡迎使用心電信號采集系統 ,
0,0
,
10,NULL,
0
} ;
用CTRLDATA 定義對話(huà)框中所有的控件并用數組表示,對話(huà)框常常使用控件來(lái)實(shí)現提示或者設置等功能,定義控件數組模型如下:
static CTRLDATA CtrlInitProgess[]=
{
{ CTRL_STATIC,
WS_CHILD|WS_VISIBLE| SS_NOTIF
|WS_BORDER,
0,0
, 240, 30
IDC_STATIC1,
“歡迎使用心電信號采集系統”,
0
} ;
{
…
} ;
…
} ;
通過(guò)上述方法生成的心電監護儀主界如圖2 所示。心電采集界面主要有心電數據采集與顯示、存
儲、分析等功能,采用多線(xiàn)程編程,為采集、顯示、存儲、分析各建立一個(gè)專(zhuān)門(mén)的線(xiàn)程。多線(xiàn)程進(jìn)行數據采集可以有效地加快程序的反應速度、增加執行的效率。

圖2 電監護儀主界面
在MiniGUI 中,使用消息驅動(dòng)作為應用程序的創(chuàng )建構架。在消息驅動(dòng)的應用程序中,計算機外設發(fā)生的事件都由支持系統收集,將以事先的約定格式翻譯為特定的消息。應用程序一般包含有自己的消息隊列,系統將消息發(fā)送到應用程序的消息隊列中。從消息隊列中讀取這些消息,并由窗口過(guò)程函數來(lái)處理這些消息。本系統界面通過(guò)鼠標鍵的按擊,翻譯成特定的消息,若收到的是控件消息,則判斷ID,根據應用程序進(jìn)行相應的消息處理。 linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論