新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > μC/OSⅡ的分布式應急電源控制系統設計

        μC/OSⅡ的分布式應急電源控制系統設計

        作者: 時間:2008-11-28 來源:網絡 收藏

          4 軟件設計 

          μC/OS-II是一個實時操作系統的內核,它的大部分源代碼都是使用ANSI C寫的,有很強的移植性。它的內核功能豐富,具有可裁減性,用戶可根據自身需要來配置編譯條件,將實時內核裁剪到滿足自己功能的最小狀態。 

          在本系統中,有針對的編寫了uC/OS- II移植程序及硬件電路的驅動程序。應用程序從函數main()開始,main()內容如下: 

        void main(void){ 
        SysInit ();/*系統初始化*/ 
        OSInit();/*初始化u C/OS- II */ 
        OSTaskCreate(TaskStart, ( void*)0, (void*)TaskStk[0][0],5);/*建立起始任務*/ 
        OSStart();/*開始多任務調度*/ 
        } 

          其中,SysInit()對系統的初始化工作主要包括:建立相關參數和變量,設置各種中斷,以及對各器件進行初始化,OSInit()用于對uC/Os- II操作系統進行初始化。起始任務TaskStart ()是一個建立其它任務的任務。接著,建立郵箱用于任務間的通信,再接下來,用OSTaskCreate()函數建立不同功能的任務:SCI通信任務SCIComm_Task()、LCD液晶屏刷新任務LCD_Fresh_Task()、脈寬計算任務PW_Calculate_Task()、逆變器輸出電壓采集任務Vo_Sample_Task()、鍵盤掃描任務Key_Scan_Task()、時鐘更新任務Time_Fresh_Task()、市電電壓采集以及監測任務Vi_Sample_Task()。任務優先級的確定原則是工作頻率越高,任務的優先級越高。任務之間的通信是通過發送或接受消息、信號或數據隊列來實現的。 

          另外,uC/OS- II在F2407上的移植和配置的方法如下: 

          (1)在OS_ CPU.H中定義相關的宏,聲明能夠識別的數據類型和堆棧增長方向。OS_ CPU C.C中定義以下6個函數:OSTaskStklnit ( ) 、OSTaskCreateHook()、OSTaskSwHOok()、OSTW_lefook()、OSTaskStatHook()、OST3meT5ckHook()。實際上真正需要定義的只有OSTaskStklnit(),其余5個只需聲明,不一定要有實際內容,這5個函數都是需要由用戶定義的接口函數。 



        關鍵詞: 電源控制 分布式 DSP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 莱州市| 青神县| 和龙市| 霸州市| 保定市| 福泉市| 肥城市| 长沙市| 涟水县| 丰城市| 监利县| 沂水县| 巨野县| 海盐县| 安国市| 黑水县| 金山区| 德江县| 东阿县| 海淀区| 旺苍县| 行唐县| 蕲春县| 阿合奇县| 泰和县| 利川市| 绿春县| 三江| 辉县市| 拜城县| 万全县| 汨罗市| 临清市| 即墨市| 湖北省| 红安县| 宁津县| 阳谷县| 奈曼旗| 德钦县| 开平市|