基于μC/OS-II的智能窗系統設計
(2)主要任務描述首先建立一個main()函數,在主函數中調用OS-Init()函數初始化μC/OS-II,然后建立第一個任務(起始任務),最后調用OS-Start()函數啟動多任務。在建立主函數之前必須定義各個任務的堆棧、系統的全局變量和相關宏。主函數的程序清單如下:
起始任務是系統建立的第一個任務,主要有3個功能:完成對目標板的初始化(主要是定時器、外部中斷和串行口的初始化),建立系統所要用到的信號量,建立系統的其他任務。起始任務部分程序清單如下:
在電機開窗任務中首先等待信號量sem_open。該信號量是由煤氣處理任務、紅外遙控處理任務發送的。如果電機開窗任務得到該信號量,程序就設置電機轉動方向,并控制PWM送出電機轉動脈沖,直到窗戶被打開。
電機關窗任務必須等到信號量sem_close有效時才會被激活。信號量sam_close由盜情處理任務、下雨處理任務、大風處理任務、紅外遙控處理任務發送。
短信任務則要得到盜情處理任務發出的信號量sam_dq時被激活。系統采用門磁傳感器作為人室盜竊報警信號發生器。當窗戶被打開時,門磁的開關狀態發生變化,信號被發送到微處理器。微處理器檢測到信號輸入、控制GPRS模塊發送中文報警信息給戶主手機,戶主可根據短信及時報警,避免造成更大的損失。
3 小 結
完成了基于32位ARM微處理器LM3S615和嵌入式實時操作系統μc/os―II的嵌入式智能窗的設計開發,并為嵌入式系統開發提供了一種解決方案。μc/os―II作為一個優秀的RTOS已經被成功移植到多種體系結構的微處理器上。將其移植到ARM平臺上能夠更深刻地理解RTOS的構造,加快應用和開發。把μC/OS―II引入到智能窗控制系統的軟件設計中,使軟件的開發更具層次性,開發效率更高,系統的穩定性、可靠性、實時性更強,也更容易擴展。
評論