|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
“絕招”高效率編程,提高移植性可讀性-用Keil3的模板、配置工具 |
| 作者:汽車電子 欄目:單片機 |
Keil uVision2不支持配置工具和代碼模板,Keil uVision3好 ![]() 上圖的配置工具的代碼的實現(xiàn)如下 //-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- // // <h>Task Definitions // =================== // // <o>OS_TASKCNT: NUMBER of concurrent running tasks <0-250> // <i> Can be less than the NUMBER of defined tasks or more if // <i> MULTI instances of tasks will run. This define is used // <i> to calculate the the MEMORY block size that is reserved // <i> for fixed MEMORY block management. // <i> Default: 6 #define OS_TASKCNT 6 // <o>OS_PRIVCNT: NUMBER of tasks using private user stack <0-250> // <i> Some tasks may require bigger user stack than OS_STKSIZE. // <i> In this case the MEMORY space for user stack must be // <i> provided by the user and is not assigned by the SYSTEM. // <i> Default: 0 #define OS_PRIVCNT 0 // <o>OS_STKSIZE: Task stack size in bytes <20-4096:4><#/4> // <i> This stack is used for task's stack and context SWITCH // <i> for registers and SYSTEM stack storage. // <i> Default: 200 #define OS_STKSIZE 200 // <o>OS_TIMERCNT: NUMBER of user timers <0-250> // <i> Define max. NUMBER of user timers running. They act as // <i> a watchdog timer counting down on each SYSTEM clock tick. // <i> On timeout the user provided function is called. // <i> Default: 0 (User timers disabled) #define OS_TIMERCNT 0 // </h> // <h>SYSTEM Timer Configuration // <e>是否允許編輯系統(tǒng)定時器和系統(tǒng)時鐘 // ============================= // <o>OS_TIMER: ARTX Kernel timer NUMBER <0=> Timer 0 <1=> Timer 1 // <i> Define the ARM timer used as a SYSTEM tick timer // <i> Default: Timer 0 #define OS_TIMER 0 // <o>OS_CLOCK: Timer reload VALUE <0-999999999><#-1> // <i> Set the timer reload VALUE for desired tick rate // <i> Default: 150000 (10ms at 60MHZ and prescaler by 4) #define OS_CLOCK 138240 // </e> // </h> // <e>Round-Robin Task SWITCHing #define OS_ROBIN 0 // <o>OS_ROBINTOUT: Round-Robin Timeout in SYSTEM ticks <1-1000> // <i> This is the time slice assigned to a running task. // <i> When this expires, round robin task SWITCH takes place. // <i> Default: 5 #define OS_ROBINTOUT 5 // </e> //------------- <<< end of configuration section >>> ----------------------- 解釋如下: 1、要配置的#define語句的頭尾分別是含三個尖括號的語句 <<< Use Configuration Wizard in Context Menu >>> #define Config 1 // ......你的預定義 <<< end of configuration section >>> 2、 配置菜單和修改值說明如下(稍后貼圖) * - 本貼最后修改時間:2005-6-6 22:26:01 修改者:汽車電子 |
| 2樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/6/5 20:40:00 發(fā)布:
配置工具說明 ![]() * - 本貼最后修改時間:2005-6-5 21:53:51 修改者:汽車電子 |
|
| 3樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/6/6 19:34:00 發(fā)布:
用Keil3的模板功能,輕輕一點鼠標,大量代碼出來了... 把一個函數(shù)框架定義成一個模板...... 把一個C語言文件框架定義成一個模板...... 把你的編程風格定義成模板...... 可避免“勞手之苦”...... 請看,雙擊<New Function>模板,以下代碼就出來了,很方便 /* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 函數(shù)名稱: 功能描述: 入口參數(shù): 出口參數(shù): 全局變量: */ void Delay_mS(uchar); // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 以上原型聲明的函數(shù)供本函數(shù)調(diào)用 void Function(void) { } // End of <> function * - 本貼最后修改時間:2005-6-6 19:36:14 修改者:汽車電子 |
|
| 4樓: | >>參與討論 |
| 作者: jysong 于 2005/6/6 19:43:00 發(fā)布:
怎么創(chuàng)建模板啊 |
|
| 5樓: | >>參與討論 |
| 作者: 牧石.馬 于 2005/6/6 20:52:00 發(fā)布:
uv3的ide中文支持還是太糟糕 編輯器用vc +Visual Assist 模板啊,自動完成啊,什么的功能更加強大 |
|
| 6樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/6/6 22:16:00 發(fā)布:
中文支持還是很好的,可能與你的系統(tǒng)或IDE設(shè)置有關(guān) 只要是注釋里的中文和字符串的中文,支持都很好 不會像以前一樣出現(xiàn)半格的現(xiàn)象,或都是字與光標不齊的現(xiàn)象,也沒有格子或亂碼出現(xiàn)了...... 推薦使用超級編輯器 UltraEdit 11.0+ 非常專業(yè)的編輯器,幾乎支持所有的編譯語言. 支持50個用戶模板,支持10個用戶剪貼板,支持宏.....都可用熱鍵...... * - 本貼最后修改時間:2005-6-7 9:13:45 修改者:汽車電子 |
|
| 7樓: | >>參與討論 |
| 作者: hotpower 于 2005/6/6 23:10:00 發(fā)布:
好好學習. 記住這個方法... |
|
| 8樓: | >>參與討論 |
| 作者: ketp 于 2005/6/7 8:36:00 發(fā)布:
EditPlus2最方便啦 敲入keyword再敲空格,模板就出來了,而且可自己定義, |
|
| 9樓: | >>參與討論 |
| 作者: fsaok 于 2005/6/7 12:31:00 發(fā)布:
奇怪 奇怪,我的Keil uVision3 的模板和樓主的不一樣,可能是版本的問題吧,我用的是ver 3.05 ver 3.05的最大問題是,如果光標那地方不是在文件中,或者是文件的結(jié)束,使用模板就會退出程序,所以開始用的時候覺得非常討厭。 心得:模板的數(shù)據(jù)在uv3 的文件夾中的 C51.ini中,把它拷貝出來,就可以移植你做好的模板。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |