在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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è) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于嵌入式技術(shù)的溫度測(cè)量系統(tǒng)設(shè)計(jì)

            基于嵌入式技術(shù)的溫度測(cè)量系統(tǒng)設(shè)計(jì)

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

              本系統(tǒng)用到了串口通信中間件和數(shù)據(jù)隊(duì)列中間件,即只需要將中間件程序添加到系統(tǒng)項(xiàng)目表中去,調(diào)用中間件的接口函數(shù)即可實(shí)現(xiàn)串口的通信,如:調(diào)用URAT0Init(9600)實(shí)現(xiàn)串口的初始化,其中,波特率可直接進(jìn)行調(diào)整;調(diào)用URAT0Putch(temp4)實(shí)現(xiàn)將temp4中存儲(chǔ)的數(shù)據(jù)通過(guò)串口發(fā)送出去。當(dāng)要將應(yīng)用程序移植到其他系統(tǒng)上時(shí),只要對(duì)這兩個(gè)函數(shù)及其他相關(guān)函數(shù)進(jìn)行適當(dāng)修改,而無(wú)需改變應(yīng)用程序。

              上位機(jī)的通信程序運(yùn)用了MSComm 控件,它是Microsoft公司提供的,簡(jiǎn)化Windows下串行通信編程的ActiveX控件,該控件提供了兩種處理通信問(wèn)題的方法,本系統(tǒng)采用了事件驅(qū)動(dòng)法。當(dāng)串口發(fā)生事件或錯(cuò)誤時(shí),MSComm控件會(huì)產(chǎn)生OnComm事件,用戶(hù)程序可以捕獲該事件進(jìn)行相應(yīng)處理。在編程過(guò)程中,就可以在OnComm事件處理函數(shù)中加入相應(yīng)的處理代碼。

              利用MSComm控件實(shí)現(xiàn)計(jì)算機(jī)通信的關(guān)鍵是正確設(shè)置MSComm控件的屬性和方法。以下是用VB編寫(xiě)的部分設(shè)置程序:

              Private Sub Form_Load()

              Me.Show

              MSComm1.CommPort = 1 //選擇串口com1

              MSComm1.Settings = 9600,n,8,1 //設(shè)置MSComm的連接屬性

              MSComm1.RThreshold = 2 //定義閥值為2

              MSComm1.InBufferSize = 2

              i = 0

              Picture1.Visible = False

              On Error Resume Next

              End Sub

              連接屬性BBBB,P,D,S中,BBBB 為波特率,P為奇偶校驗(yàn),D為數(shù)據(jù)位數(shù),S為停止位數(shù)。閥值定為2,則在接收緩沖區(qū)中的字節(jié)數(shù)超過(guò)“2”時(shí),就轉(zhuǎn)入OnComm()事件處理程序執(zhí)行。

              3. 嵌入式系統(tǒng)軟件

              采用了嵌入式操作系統(tǒng)uC/OS-II,它是專(zhuān)門(mén)為計(jì)算機(jī)的嵌入式應(yīng)用而設(shè)計(jì)的。 uC/OS-II是基于優(yōu)先級(jí)的占先式多任務(wù)實(shí)時(shí)內(nèi)核。由于在多任務(wù)實(shí)時(shí)操作系統(tǒng)中,應(yīng)用程序是以任務(wù)形式運(yùn)行的,操作系統(tǒng)的一個(gè)重要的作用就是任務(wù)的調(diào)度,所以要在操作系統(tǒng)下實(shí)現(xiàn)應(yīng)用程序的執(zhí)行,就必須建立任務(wù),在任務(wù)中實(shí)現(xiàn)測(cè)溫和串行通信等操作。建立任務(wù)如下:

              #include config.h

              #define TASK_STK_SIZE 64 //定義任務(wù)棧的大小為64字節(jié)

              OS_STK TaskStartStk[TASK_STK_SIZE]; //定義任務(wù)棧

              void TaskStart(void *data); //聲明任務(wù)

              int main (void)

              {

              OSInit(); //操作系統(tǒng)初始化

              OSTaskCreate(TaskStart, (void *)0, TaskStartStk[TASK_STK_SIZE - 1], 0); // 建任務(wù)

              OSStart(); //啟動(dòng)操作系統(tǒng)

              return 0;

              }



            評(píng)論


            相關(guān)推薦

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

            關(guān)閉