基于A(yíng)RM設計的多生理參數嵌入式監護系統
其中,數據的采集與控制是主控模塊,參數設置模塊通過(guò)獲取人機界面上的輸入的參數信息,對通信模塊以及數據分析處理模塊的各項參數進(jìn)行設定。又由于本系統中的各個(gè)人體生理參數監護模塊采集的數據格式不一致,所以還需要一個(gè)格式轉換的過(guò)程,以方便顯示和存儲。
3.2.2通信模塊
在主控系統中,與下位機各個(gè)模塊的通信協(xié)議大致相同。在參數設置以后,下位機各模塊根據指令信息進(jìn)行生理參數監測并上傳數據。這里以血壓測量模塊為例,簡(jiǎn)述如下:
采用RS232串口異步通信,1位起始位,8位數據位,1位停止位,無(wú)奇偶校驗,波特率2400b/s。傳輸數據采用ASCII模式。上位機到模塊的命令格式:STX> ab;cdETX>,
其中STX> (02) 是ASCII碼的正文起始標志 ;“ab”是命令代碼對應的ASCII碼值;“cd”是兩位16進(jìn)制校驗和對應的ASCII碼值。校驗和是此前各位數值之和的低8位,不包括STX> (02);ETX>(03)是ASCII碼的正文結束標志。如“02 30 31 3B 3B 44 37 03”表示開(kāi)始一次手動(dòng)測量。模塊到上位機的數據格式:STX> abc; ghi; jki;mno;pqr ETX>,其中“abc”,“ghi”,“jki”,“mno”,“pqr”分別代表當前袖帶壓力值,收縮壓,舒張壓,平均壓,脈率的各 10進(jìn)制位的數所對應的ASCII碼值。
3.2.3數據顯示模塊
數據顯示模塊中,主要是能實(shí)現動(dòng)態(tài)地顯示波形,其中關(guān)鍵的函數就是paintEvent( QPaintEvent * ),函數的主要代碼為:
#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] ); // 隨機設畫(huà)筆的顏色,也可確定顏色
paint.drawLine( points[i], points[j] ); }}}// 畫(huà)線(xiàn)
通過(guò)這個(gè)函數,可以將每個(gè)點(diǎn)連起來(lái),形成線(xiàn),然后不斷更新它,就能實(shí)現動(dòng)態(tài)地顯示波形。當更新時(shí),調用以下函數:
void DrawView::paintEvent( QPaintEvent * ){
QPainter paint( this );
drawIt( paint );}
3.2.4程序的界面
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論