在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 基于USB的便攜式醫(yī)療設(shè)備數(shù)據(jù)采集和傳輸系統(tǒng)設(shè)計(jì)

            基于USB的便攜式醫(yī)療設(shè)備數(shù)據(jù)采集和傳輸系統(tǒng)設(shè)計(jì)

            作者: 時(shí)間:2010-04-08 來(lái)源:網(wǎng)絡(luò) 收藏

              下位機(jī)工作在DOS狀態(tài),軟件程序采用BORLANDC語(yǔ)言。主要工作是初始化CH375、查詢(xún)中斷及中斷處理。相關(guān)程序代碼如下:

              (1)處理接收數(shù)據(jù)的中斷服務(wù)程序

              void interrupt (__CPPARGS)

              {

               unsigned char len,i;

               //獲取中斷狀態(tài)并取消中斷請(qǐng)求

              CH375WriteCmd(0x22);

               d0=CH375ReadData(); //讀回狀態(tài)

              if((d0==0x02)||(d0==0x01)) //批量端點(diǎn)2接收到PC機(jī)發(fā)送的數(shù)據(jù)

              {//讀取數(shù)據(jù)}

               inportb(0x21);

               outportb(0x20,0x20); //發(fā)EOI命令,

               清除中斷

            }

            (2)寫(xiě)數(shù)據(jù)子程序

            void CH375WriteData( unsigned char dat )

            {

            /* 寫(xiě)數(shù)據(jù)口 */

            outportb( PortBaseAddr + 0, dat );

            DelayuS( 1 );

            }

            (3)讀數(shù)據(jù)子程序

            unsigned char CH375ReadData( void )

            {

            unsigned char d;

            DelayuS( 1 );

            /* 讀數(shù)據(jù)口 */

            d = inportb( PortBaseAddr + 0 );

            return( d );

            }

            (4)主程序

            int main(int argc,char *argv[])

            {

            ..................

            for(;;) //等待

            {//軟件進(jìn)入主循環(huán),處理突發(fā)事件

            while(kbhit()) ch=getch();

            if(ch==27) break;

            if(ch==59){.//向PC機(jī)發(fā)送數(shù)據(jù)}

            if(ch==60){//寫(xiě)中斷特征數(shù)據(jù)}

            readbuf(); //讀接口緩沖區(qū)數(shù)據(jù)

            }

            ..................

            }

            4上位機(jī)中的程序設(shè)計(jì)

            因?yàn)镃H375的動(dòng)態(tài)鏈接庫(kù)DLL提供了許多API接口函數(shù),所以應(yīng)用程序只需通過(guò)幾條簡(jiǎn)單的文件操作API函數(shù),就可以實(shí)現(xiàn)與下位機(jī)的通信。

            又因CH375的動(dòng)態(tài)鏈接庫(kù)DLL提供了偽中斷服務(wù)(實(shí)際的中斷服務(wù)仍然是在驅(qū)動(dòng)程序庫(kù)完成的,只是在完成后向DLL發(fā)個(gè)通知,再由DLL再調(diào)用偽中斷服務(wù)子程序),基于此,系統(tǒng)采用了偽中斷服務(wù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的上傳,這不僅縮短了系統(tǒng)的開(kāi)發(fā)周期,而且很好地滿(mǎn)足了下位機(jī)的實(shí)時(shí)性要求。上傳數(shù)據(jù)的程序流程圖如圖2所示。

            數(shù)據(jù)的下傳只需用簡(jiǎn)單的下傳API發(fā)送數(shù)據(jù)。由CH375中斷接收即可。

            上位PC機(jī)工作在Windows環(huán)境下,我們采用Visual C++6.0語(yǔ)言編程。具體程序?qū)崿F(xiàn)如下:

            (1)初始化PC104-USB卡

            在這里完成對(duì)設(shè)備的初始化,如CH375DLL.DLL文件的加載、設(shè)備的成功打開(kāi)、緩沖區(qū)的清理、數(shù)據(jù)的上傳模式、設(shè)置偽中斷服務(wù)程序等。

            助聽(tīng)器原理相關(guān)文章:助聽(tīng)器原理




            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉