|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
LPC2000使用RTX快速入門. |
| 作者:Life7777 欄目:ARM技術(shù) |
本例使用的是時間片調(diào)度法. // HEADER: // File NAME: RTX.C // Author: LinShengFeng // 本例演示時間片調(diào)度RTX // 本例只是演示RTX能運(yùn)行 // 沒有對RTX和STARTUP.S進(jìn)行配對優(yōu)化 // Date: #include "RTL.H" #include "LPC214X.H" // // 定義任務(wù)ID號 // OS_TID init_t,led_t,key_t; // LED接在 P1.24 #define led_code_t 24 // // 定義三個任務(wù) // 啟動任務(wù) // LED任務(wù) // 鍵盤任務(wù) // void init_f(void) __task; void led_f(void) __task; void key_f(void) __task; // // // void init_f(void) __task{ // 使用時間片調(diào)度任務(wù) // 任務(wù)的優(yōu)先級一樣 // 本任務(wù)只是用來創(chuàng)建其它任務(wù) // 不用獲取自己的任務(wù)ID // init_t = os_tsk_self (); led_t = os_tsk_create ( led_f,255); key_t = os_tsk_create ( key_f,255); os_tsk_delete_self ();; } // // // void led_f(void) __task{ IO1DIR = 1<<led_code_t; while(1){ IO1SET = 1<<led_code_t; os_dly_wait (20); } } // // // void key_f(void) __task{ while(1){ IO1CLR = 1<<led_code_t; os_dly_wait (20); } } // // // int main(void){ // 啟動OS os_sys_init (init_f); return 0; } // // GO // 你的LED歡快的跳動嗎? // 沒有也,把板丟給我,我拆元件下來煉黃金. // 痛苦也,把做好的程序加上注解,寫成教程真是累 // 睡覺了. // // * - 本貼最后修改時間:2006-10-8 0:45:15 修改者:Life7777 |
| 2樓: | >>參與討論 |
| 作者: hotpower 于 2006/10/7 22:55:00 發(fā)布:
坐個沙發(fā)~~~ |
|
| 3樓: | >>參與討論 |
| 作者: Life7777 于 2006/10/8 0:51:00 發(fā)布:
分還不夠開電子筆記,繼續(xù)南水調(diào)入21IC
|
|
| 4樓: | >>參與討論 |
| 作者: Life7777 于 2006/10/8 1:11:00 發(fā)布:
操作過程 RTL快速入門 KEIL RTL運(yùn)行庫包含RTX-OS TCP/IP CAN USB FFS等組件,本章主要介紹在KEIL里快速上手使用RTX. 1. 加入RTX操作系統(tǒng)的頭文件到應(yīng)用工程中: #include <RTL.h> 2. 任務(wù)的寫法:void 任務(wù)名(void) __task {.....}, "__task"為KEIL擴(kuò)展的關(guān)鍵字,必須加上. 3. 創(chuàng)建任務(wù).使用方法:task_id = os_tsk_create(任務(wù)名,優(yōu)先級別), 其中task_id是任務(wù)的句柄,用于唯一標(biāo)志對應(yīng)的任務(wù)的,使用前必須先聲明它,方法是"OS_TID task_id". 4. 建立了一個任務(wù)后需要啟動操作系統(tǒng).方法:在main()函數(shù)里面調(diào)用os_sys_init(最先執(zhí)行的任務(wù)名字) 5. 最重要的一步:把對應(yīng)你使用的ARM的ARTX配置文件要拷貝到工程目錄下面. 我用的是 LPC2000,把RTL對應(yīng)LPC2000系列的配置文件: ..\Keil\ARM\RV30\Startup\PHILIPS\RTX_Config.c復(fù)制到應(yīng)用工程目錄下,當(dāng)然要加入去. 6. 再到工程設(shè)置里選擇上RTL就可以開始寫碼碼馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬馬了. 例子建了3個任務(wù),1個init(啟動完OS后,執(zhí)行后自動刪除),1個點(diǎn)LED的任務(wù),還有一個鍵盤的任務(wù).呵呵,俺手 上的板只有一個按鈕就不寫KEY了,現(xiàn)在用操作LED代替. |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |