基于uC/OS-II的智能窗系統(tǒng)設(shè)計(jì)
首先建立一個(gè)主函數(shù)(main函數(shù)),在主函數(shù)中調(diào)用OSInit()函數(shù)初始化μC/OS-II,然后建立第一個(gè)任務(wù)(起始任務(wù)),最后調(diào)用OSStart()函數(shù)啟動(dòng)多任務(wù)。當(dāng)然,在建立主函數(shù)之前必須定義各個(gè)任務(wù)的堆棧,系統(tǒng)的全局變量和相關(guān)宏。主函數(shù)的程序清單如下:
起始任務(wù)(StartTask) 是系統(tǒng)建立的第一個(gè)任務(wù),他主要有3個(gè)功能:完成對(duì)定時(shí)器、外中斷0和串行口的初始化;建立系統(tǒng)所要用到的信號(hào)量;建立系統(tǒng)的其他任務(wù)。
起始任務(wù)部分程序清單如下:
電機(jī)開(kāi)窗任務(wù)(openwintask) 在電機(jī)開(kāi)窗任務(wù)中首先等待信號(hào)量sem_open。該信號(hào)量是由煤氣處理任務(wù)、紅外遙控處理任務(wù)和手動(dòng)開(kāi)窗任務(wù)發(fā)送的。如果其他任務(wù)發(fā)送了該信號(hào)量,程序就設(shè)置電機(jī)轉(zhuǎn)動(dòng)方向,并控制p3.4送出電機(jī)轉(zhuǎn)動(dòng)脈沖,直到窗戶被打開(kāi)。
電機(jī)關(guān)窗任務(wù)(closewintask) 該任務(wù)必須在信號(hào)量sem open有效時(shí)才會(huì)被激活。信號(hào)量sere_open有下雨處理任務(wù)、紅外遙控處理任務(wù)和手動(dòng)關(guān)窗任務(wù)發(fā)送。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論