基于uC/OS-II的智能窗系統(tǒng)設(shè)計
3.2.3 主要任務(wù)描述本文引用地址:http://www.butianyuan.cn/article/150699.htm
首先建立一個主函數(shù)(main函數(shù)),在主函數(shù)中調(diào)用OSInit()函數(shù)初始化μC/OS-II,然后建立第一個任務(wù)(起始任務(wù)),最后調(diào)用OSStart()函數(shù)啟動多任務(wù)。當(dāng)然,在建立主函數(shù)之前必須定義各個任務(wù)的堆棧,系統(tǒng)的全局變量和相關(guān)宏。主函數(shù)的程序清單如下:
起始任務(wù)(StartTask) 是系統(tǒng)建立的第一個任務(wù),他主要有3個功能:完成對定時器、外中斷0和串行口的初始化;建立系統(tǒng)所要用到的信號量;建立系統(tǒng)的其他任務(wù)。
起始任務(wù)部分程序清單如下:
電機開窗任務(wù)(openwintask) 在電機開窗任務(wù)中首先等待信號量sem_open。該信號量是由煤氣處理任務(wù)、紅外遙控處理任務(wù)和手動開窗任務(wù)發(fā)送的。如果其他任務(wù)發(fā)送了該信號量,程序就設(shè)置電機轉(zhuǎn)動方向,并控制p3.4送出電機轉(zhuǎn)動脈沖,直到窗戶被打開。
電機關(guān)窗任務(wù)(closewintask) 該任務(wù)必須在信號量sem open有效時才會被激活。信號量sere_open有下雨處理任務(wù)、紅外遙控處理任務(wù)和手動關(guān)窗任務(wù)發(fā)送。
評論