新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM設(shè)計(jì)的多生理參數(shù)嵌入式監(jiān)護(hù)系統(tǒng)

基于ARM設(shè)計(jì)的多生理參數(shù)嵌入式監(jiān)護(hù)系統(tǒng)

作者: 時(shí)間:2012-04-18 來源:網(wǎng)絡(luò) 收藏

其中,數(shù)據(jù)的采集與控制是主控模塊,設(shè)置模塊通過獲取人機(jī)界面上的輸入的信息,對(duì)通信模塊以及數(shù)據(jù)分析處理模塊的各項(xiàng)進(jìn)行設(shè)定。又由于本中的各個(gè)人體參數(shù)模塊采集的數(shù)據(jù)格式不一致,所以還需要一個(gè)格式轉(zhuǎn)換的過程,以方便顯示和存儲(chǔ)。

3.2.2通信模塊

在主控中,與下位機(jī)各個(gè)模塊的通信協(xié)議大致相同。在參數(shù)設(shè)置以后,下位機(jī)各模塊根據(jù)指令信息進(jìn)行參數(shù)監(jiān)測(cè)并上傳數(shù)據(jù)。這里以血壓測(cè)量模塊為例,簡(jiǎn)述如下:

采用RS232串口異步通信,1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn),波特率2400b/s。傳輸數(shù)據(jù)采用ASCII模式。上位機(jī)到模塊的命令格式:STX> ab;cdETX>,

其中STX> (02) 是ASCII碼的正文起始標(biāo)志 ;“ab”是命令代碼對(duì)應(yīng)的ASCII碼值;“cd”是兩位16進(jìn)制校驗(yàn)和對(duì)應(yīng)的ASCII碼值。校驗(yàn)和是此前各位數(shù)值之和的低8位,不包括STX> (02);ETX>(03)是ASCII碼的正文結(jié)束標(biāo)志。如“02 30 31 3B 3B 44 37 03”表示開始一次手動(dòng)測(cè)量。模塊到上位機(jī)的數(shù)據(jù)格式:STX> abc; ghi; jki;mno;pqr ETX>,其中“abc”,“ghi”,“jki”,“mno”,“pqr”分別代表當(dāng)前袖帶壓力值,收縮壓,舒張壓,平均壓,脈率的各 10進(jìn)制位的數(shù)所對(duì)應(yīng)的ASCII碼值。

3.2.3數(shù)據(jù)顯示模塊

數(shù)據(jù)顯示模塊中,主要是能實(shí)現(xiàn)動(dòng)態(tài)地顯示波形,其中關(guān)鍵的函數(shù)就是paintEvent( QPaintEvent * ),函數(shù)的主要代碼為:

#include qpainter.h> //必須包含的頭文件

void ConnectWidget::paintEvent( QPaintEvent * ){

QPainter paint( this );

for ( int i=0; icount-1; i++ ) { // 連接所有的點(diǎn)

for ( int j=i+1; jcount; j++ ) {

paint.setPen( colors[rand()%MAXCOLORS] ); // 隨機(jī)設(shè)畫筆的顏色,也可確定顏色

paint.drawLine( points[i], points[j] ); }}}// 畫線

通過這個(gè)函數(shù),可以將每個(gè)點(diǎn)連起來,形成線,然后不斷更新它,就能實(shí)現(xiàn)動(dòng)態(tài)地顯示波形。當(dāng)更新時(shí),調(diào)用以下函數(shù):

void DrawView::paintEvent( QPaintEvent * ){

QPainter paint( this );

drawIt( paint );}

3.2.4程序的界面

由于在Linux下不便于截圖,圖5在REDHAT9.0下的測(cè)試界面。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉