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