亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        VC++多線程在生物電波數(shù)據(jù)采集中的設(shè)計及實現(xiàn)

        2009-03-14 06:59:48
        新媒體研究 2009年4期
        關(guān)鍵詞:數(shù)據(jù)采集

        陳 英

        [摘要]對一個生物電波應(yīng)用程序中的數(shù)據(jù)采集方法進(jìn)行了研究,闡述多線程的原理及實際應(yīng)用方法,運(yùn)用VC++實現(xiàn)了數(shù)據(jù)采集。生物電波應(yīng)用程序是針對醫(yī)院的一些生物電波采集儀器,結(jié)合現(xiàn)代醫(yī)學(xué)生理學(xué)原理與臨床應(yīng)用的實際需要設(shè)計的。醫(yī)生在生物電波采集設(shè)備的幫助下,通過計算機(jī)上簡單的操作界面,對患者的身體某部位的生物電波進(jìn)行采樣,然后對所得到的數(shù)據(jù)進(jìn)行分析和測量。

        [關(guān)鍵詞]數(shù)據(jù)采集 VC++ 生物電波

        中圖分類號:Q64文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0220056-02

        一、多線程基礎(chǔ)

        在Win32 API的基礎(chǔ)之上,MFC提供了處理線程的類和函數(shù)。MFC對多線程進(jìn)行一種簡單的封裝,其中每個線程都是從CWinThread類繼承而來的。每一個應(yīng)用程序的執(zhí)行都有一個主線程,主線程也是從CWinThread類繼承而來的??梢岳肅WinThread對象創(chuàng)建應(yīng)用程序執(zhí)行的其他線程。處理線程的類是CWinThread,它的成員變量m_hThread和m_hThreadID是對應(yīng)的Win32線程句柄和線程ID。MFC多線程編程中經(jīng)常用到的幾個全局函數(shù)函數(shù)是AfxBeginThread、AfxEndThread等。

        MFC明確區(qū)分兩種線程:用戶界面線程(User interface thread)和工作者線程(Worker thread)。用戶界面線程一般用于處理用戶輸入并對用戶產(chǎn)生的事件和消息作出應(yīng)答。工作者線程用于完成不要求用戶輸入的任務(wù),如耗時計算。

        線程函數(shù)的格式如下:

        UNIT函數(shù)名(LPVOID pParam)

        工作者線程的AfxBeginThread的原型如下:

        CWinThread* AFXAPI AfxBeginThread(

        AFX_THREADPROC pfnThreadProc,

        LPVOID pParam,

        int nPriority,

        UINT nStackSize,

        DWORD dwCreateFlags,

        LPSECURITY_ATTRIBUTES lpSecurityAttrs

        )

        其中參數(shù)1指定控制函數(shù)的地址;參數(shù)2指定傳遞給控制函數(shù)的參數(shù);參數(shù)3、4、5分別指定線程的優(yōu)先級、堆棧大小、創(chuàng)建標(biāo)識、安全屬性,含義同用戶界面線程。

        二、實現(xiàn)線程函數(shù)

        在CDlgget.cpp文件中加入創(chuàng)建線程函數(shù)的代碼:

        //以下為用于同時產(chǎn)生采樣曲線的線程函數(shù)

        UINT Pen1(LPVOID param)

        {

        p->Online(1); //調(diào)用畫線函數(shù)在特定位置畫線,參數(shù)將決定畫像的起始位置

        return 0; //返回值為無符號整數(shù)

        }

        UINT Pen10(LPVOID param)

        {

        p->Online(10);

        return 0;

        }

        修改Online(int i)函數(shù)代碼如下:

        void CDlgget::Online( int i )

        {

        int k=m*i;

        int x=0,y=0;

        CClientDC dc(this);

        CPen MyNewPen,MyNewPen1;

        CPen* pOriginalPen=dc.GetCurrentPen();

        MyNewPen.CreatePen(PS_SOLID,1,RGB(255,0,0));

        MyNewPen1.CreatePen(PS_SOLID,1,RGB(220,220,220));

        dc.SelectObject(&MyNewPen);

        dc.MoveTo(24,k);

        unsignedint q=i*1000;

        ::srand(q);

        for(x=24;x<1024;x=x+2)

        {

        if(!stop) //判斷是否需要停止畫線

        {

        if(n>5000) //畫到屏幕最右端時共產(chǎn)生5000個點

        {

        //在顯示新畫的線時需要搽除以前的線

        dc.SelectObject(&MyNewPen1)

        //覆蓋以前的線即可

        dc.Rectangle(x,m,x+2,11*m);

        dc.SelectObject(&MyNewPen);

        }

        ::Sleep(10);

        y=k+rand()%20;

        dc.LineTo(x,y);

        n++;

        if(x==1022)

        {

        //如果到了屏幕最右端則從左邊重新開始

        x=24;

        dc.MoveTo(24,k);

        }

        }

        }

        dc.SelectObject(pOriginalPen);

        MyNewPen.DeleteObject();

        MyNewPen1.DeleteObject();

        }

        三、啟動線程執(zhí)行

        修改OnBegin()函數(shù)代碼如下:

        void CDlgget::OnBegin()

        {

        // TODO: Add your control notification handler code here

        //啟動畫線的十個工作線程

        AfxBeginThread(Pen1,THREAD_PRIORITY_NORMAL);

        AfxBeginThread(Pen2,THREAD_PRIORITY_NORMAL);

        AfxBeginThread(Pen10,THREAD_PRIORITY_NORMAL);

        }

        修改OnStop()函數(shù)代碼如下:

        void CDlgget::OnStop()

        {

        // TODO: Add your control notification handler code here

        stop=true;

        }

        運(yùn)行程序,結(jié)果如圖1所示。

        四、結(jié)束語

        一般的生物電波采集儀是在消化吸收現(xiàn)有腦電圖原理和分析方法后,應(yīng)用現(xiàn)代電子技術(shù)和計算機(jī)技術(shù),結(jié)合現(xiàn)代醫(yī)學(xué)生理學(xué)原理與臨床應(yīng)用的實際需要設(shè)計的。本文中采用VC++進(jìn)行開發(fā),在采集數(shù)據(jù)時運(yùn)用多線程編程技術(shù),可以適時采集并存儲生物電波數(shù)據(jù),顯示生物電波波形。然后,可對所采集的數(shù)據(jù)進(jìn)行高、低頻慮波和時間常數(shù)設(shè)置并進(jìn)一步進(jìn)行頻譜分析,顯示頻譜圖。

        參考文獻(xiàn):

        [1]梁建武、陳英,Visual C++程序設(shè)計實驗指導(dǎo)與實訓(xùn)[M].中國水利水電出版社,2006.7.

        [2]候俊杰,深入淺出MFC(第二版)[M].華中科技大學(xué)出版社,2001.1.

        作者簡介:

        陳英,女,漢族,湖南省新田縣人,副教授,碩士學(xué)位,現(xiàn)任長沙民政職業(yè)技術(shù)學(xué)院教師,主要研究方向為軟件工程,計算機(jī)網(wǎng)絡(luò)應(yīng)用。

        猜你喜歡
        數(shù)據(jù)采集
        Web網(wǎng)絡(luò)大數(shù)據(jù)分類系統(tǒng)的設(shè)計與改進(jìn)
        CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于大型嵌入式系統(tǒng)的污水檢測系統(tǒng)設(shè)計
        社會保障一卡通數(shù)據(jù)采集與整理技巧
        基于AVR單片機(jī)的SPI接口設(shè)計與實現(xiàn)
        CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
        大數(shù)據(jù)時代高校數(shù)據(jù)管理的思考
        科技視界(2016年18期)2016-11-03 22:51:40
        鐵路客流時空分布研究綜述
        基于廣播模式的數(shù)據(jù)實時采集與處理系統(tǒng)
        軟件工程(2016年8期)2016-10-25 15:54:18
        通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:52:53
        国产a级毛片久久久精品毛片| 国产韩国一区二区三区| 日本在线视频网站www色下载| 日本丰满妇人成熟免费中文字幕| 亚洲欧美在线视频| 免费在线观看蜜桃视频| 国产精品一区又黄又粗又猛又爽| 看一区二区日本视频免费| 久久精品蜜桃亚洲av高清| 一本色道久久婷婷日韩| 国产精品久久久久一区二区三区| 毛片无码国产| 成人看片黄a免费看那个网址 | 美女裸体无遮挡黄污网站| 午夜香蕉av一区二区三区| 亚洲日本中文字幕乱码| 成人国产激情自拍视频| 摸丰满大乳奶水www免费| 国产女人的高潮国语对白| 亚洲五月天综合| 久久久久久久尹人综合网亚洲| 青青草视频在线观看精品在线| 奶头又大又白喷奶水av| 无码不卡av东京热毛片| 99精品视频在线观看免费| 日日摸日日碰人妻无码老牲| 少妇被粗大猛进进出出| 午夜视频在线观看日本| 亚洲国产精品一区二区久久恐怖片| 男女性爽大片视频| 又长又大又粗又硬3p免费视频| 日日摸日日碰人妻无码老牲| 亚洲成在人网站天堂日本| 女同同志熟女人妻二区| 国产莉萝无码av在线播放| 亚洲最大中文字幕无码网站| 99久久久无码国产精品动漫| 按摩师玩弄少妇到高潮hd| 91l视频免费在线观看| 精品国产品香蕉在线| 农村欧美丰满熟妇xxxx|