音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(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的模板、配置工具

作者:汽車電子 欄目:單片機
“絕招”高效率編程,提高移植性可讀性-用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 21:53:51 修改者:汽車電子

3樓: >>參與討論
汽車電子
用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
怎么創(chuàng)建模板啊
 
5樓: >>參與討論
牧石.馬
uv3的ide中文支持還是太糟糕
編輯器用vc +Visual Assist
模板啊,自動完成啊,什么的功能更加強大

6樓: >>參與討論
汽車電子
中文支持還是很好的,可能與你的系統(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
好好學習.
記住這個方法...

8樓: >>參與討論
ketp
EditPlus2最方便啦
敲入keyword再敲空格,模板就出來了,而且可自己定義,

9樓: >>參與討論
fsaok
奇怪
奇怪,我的Keil uVision3 的模板和樓主的不一樣,可能是版本的問題吧,我用的是ver 3.05

ver 3.05的最大問題是,如果光標那地方不是在文件中,或者是文件的結(jié)束,使用模板就會退出程序,所以開始用的時候覺得非常討厭。

心得:模板的數(shù)據(jù)在uv3 的文件夾中的 C51.ini中,把它拷貝出來,就可以移植你做好的模板。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
單片機的基本實驗二
USB接口的Vbus作用?
請幫我做做交通路口信號燈設(shè)計
串行AD:TLC549的源碼
請教:單片機控制網(wǎng)卡
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號