基于實(shí)時(shí)操作系統的單片機應用系統設計
2.1 軟件設計
電子存包柜主要包括按鍵處理、顯示處理、通訊處理等模塊,由中斷處理條碼讀入和串口通訊。因此,可以把任務(wù)分為按鍵顯示、接收數據、命令處理、發(fā)送數據等4 個(gè)任務(wù)。
以主控單片機1 接收用戶(hù)按存包輸入密碼、鍵值處理、密碼顯示及箱子狀態(tài)顯示、發(fā)送開(kāi)箱命令為例,說(shuō)明主體設計思想。
主程序進(jìn)行系統初始化以后,調用函數OSStart()設置多任務(wù)環(huán)境,為每一個(gè)任務(wù)建立任務(wù)堆棧,順序建立了4 個(gè)任務(wù),等待相應任務(wù)的喚醒。用戶(hù)只需把自己想要實(shí)現的功能定義為任務(wù),在cONfig.h 中聲明任務(wù)函數名和它的優(yōu)先級,并且編寫(xiě)好自己的代碼段就可以了,完全沒(méi)有了傳統編程下的那種上下調用的關(guān)系,系統會(huì )自動(dòng)運行代碼。Small RTOS51 的移植主要是要配置OS_CPU.H、OS_CFG.H 和CONFIG.H 三個(gè)文件,其中OS_CFG.H 文件主要用于對操作系統的裁減和時(shí)鐘等的相關(guān)配置。
在 CONFIG.H 文件中定義4 個(gè)任務(wù)
#ifndef …..
…………
#endif





限于篇幅,向單片機2、3 的發(fā)送及接收單片機2 數據的程序略
4.結論
采用實(shí)時(shí)多任務(wù)操作系統使得編程效率更高、維護及修改也更方便,所以目前得到廣泛應用,尤其是在嵌入系統中。在低端的51 單片機應用領(lǐng)域,利用實(shí)時(shí)多任務(wù)操作系統的思想,采用Small RTOS 多任務(wù)平臺進(jìn)行系統應用設計及改進(jìn),同樣也有現實(shí)意義。
本文創(chuàng )新點(diǎn):將Small RTOS 多任務(wù)的思想應用在一個(gè)具體的單片機控制的電子式存包柜系統的軟件設計中,介紹了基于消息隊列的任務(wù)通訊的編程方法。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論