新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于嵌入式技術的溫度測量系統設計

        基于嵌入式技術的溫度測量系統設計

        作者: 時間:2010-01-07 來源:網絡 收藏

          本系統用到了串口通信中間件和數據隊列中間件,即只需要將中間件程序添加到系統項目表中去,調用中間件的接口函數即可實現串口的通信,如:調用URAT0Init(9600)實現串口的初始化,其中,波特率可直接進行調整;調用URAT0Putch(temp4)實現將temp4中存儲的數據通過串口發送出去。當要將應用程序移植到其他系統上時,只要對這兩個函數及其他相關函數進行適當修改,而無需改變應用程序。

          上位機的通信程序運用了MSComm 控件,它是Microsoft公司提供的,簡化Windows下串行通信編程的ActiveX控件,該控件提供了兩種處理通信問題的方法,本系統采用了事件驅動法。當串口發生事件或錯誤時,MSComm控件會產生OnComm事件,用戶程序可以捕獲該事件進行相應處理。在編程過程中,就可以在OnComm事件處理函數中加入相應的處理代碼。

          利用MSComm控件實現計算機通信的關鍵是正確設置MSComm控件的屬性和方法。以下是用VB編寫的部分設置程序:

          Private Sub Form_Load()

          Me.Show

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

          MSComm1.Settings = 9600,n,8,1 //設置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為奇偶校驗,D為數據位數,S為停止位數。閥值定為2,則在接收緩沖區中的字節數超過“2”時,就轉入OnComm()事件處理程序執行。

          3. 嵌入式系統軟件

          采用了嵌入式操作系統uC/OS-II,它是專門為計算機的嵌入式應用而設計的。 uC/OS-II是基于優先級的占先式多任務實時內核。由于在多任務實時操作系統中,應用程序是以任務形式運行的,操作系統的一個重要的作用就是任務的調度,所以要在操作系統下實現應用程序的執行,就必須建立任務,在任務中實現測溫和串行通信等操作。建立任務如下:

          #include config.h

          #define TASK_STK_SIZE 64 //定義任務棧的大小為64字節

          OS_STK TaskStartStk[TASK_STK_SIZE]; //定義任務棧

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

          int main (void)

          {

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

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

          OSStart(); //啟動操作系統

          return 0;

          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 延庆县| 阳东县| 湘阴县| 林芝县| 卓尼县| 利辛县| 五家渠市| 二手房| 晋江市| 澎湖县| 榆社县| 汉源县| 旬阳县| 常州市| 新干县| 温州市| 永定县| 庆元县| 鄢陵县| 闽侯县| 漳浦县| 博湖县| 沙田区| 仪陇县| 合山市| 祁门县| 永清县| 贵港市| 聊城市| 翼城县| 拉孜县| 武城县| 准格尔旗| 富民县| 密云县| 抚远县| 兴业县| 田东县| 峨眉山市| 霍州市| 和林格尔县|