加入收藏
 免費注冊
 用戶登陸
首頁 展示 供求 職場 技術(shù) 智造 職業(yè) 活動 視點 品牌 鐠社區(qū)
今天是:2026年3月17日 星期二   您現(xiàn)在位于: 首頁 →  技術(shù) → 半導(dǎo)體器件(應(yīng)用信息)
MCU單片機編程技巧:用不同語言實現(xiàn)同一算法
2007/2/10 11:57:26    

如果已經(jīng)有了針對某MCU的C實現(xiàn)的某個算法,保持框架不變,對核心的部分用匯編優(yōu)化,請問有沒有一些比較通用的原則?有這些方面介紹的書么?

1.每個人的編程都有自己的風格與習慣,如果你要利用別人的程序,在其中修修改改,如果它的程序并沒有很好的模塊化的話,建議你最好不要這么做,否則你本來預(yù)期達到事倍功半,說不定反而事半功倍了。要參考他人的程序當然可以,但是首要是你要看懂并理解他人程序的算法精髓,而不是在他的基礎(chǔ)上打補丁。而關(guān)于算法方面的優(yōu)化,你可以購買一些數(shù)據(jù)結(jié)構(gòu)的書籍,上面有比較詳細的說明。

2.算法的運行時間是指一個算法在計算機上運算所花費的時間。它大致等于計算機執(zhí)行簡單操作(如賦值操作,比較操作等)所需要的時間與算法中進行簡單操作次數(shù)的乘積。通常把算法中包含簡單操作次數(shù)的多少叫做算法的時間復(fù)雜性。它是一個算法運行時間的相對量度,一般用數(shù)量級的形式給出。度量一個程序的執(zhí)行時間通常有兩種方法:

一種是事后統(tǒng)計的方法。因為很多計算機內(nèi)部都有計時功能,不同算法的程序可通過一組或若干組相同的統(tǒng)計數(shù)據(jù)以分辨優(yōu)劣。但這種方法有兩個缺陷:一是必須先運行依據(jù)算法編制的程序;二是所得時間的統(tǒng)計量依賴于計算機的硬件、軟件等環(huán)境因素,有時容易掩蓋算法本身的優(yōu)劣。因此人們常常采用另一種事前分析估算的方法。

事前分析估算的方法。一個程序在計算機上運行時所消耗的時間取決于下列因素:
① 依據(jù)的算法選用何種策略;
② 問題的規(guī)模。例如求100 以內(nèi)還是1000 以內(nèi)的素數(shù);
③ 書寫程序的語言。對于同一個算法,實現(xiàn)語言的級別越高,執(zhí)行效率就越低;
④ 編譯程序所產(chǎn)生的機器代碼的質(zhì)量。這個跟你的編譯器有關(guān);
⑤ 機器執(zhí)行指令的速度。

顯然,同一個算法用不同的語言實現(xiàn),或者用不同的編譯程序進行編譯,或者在不同的計算機上運行時,效率均不相同。這表明使用絕對的時間單位衡量算法的效率是不合適的。撇開這些與計算機硬件、軟件有關(guān)的因素,可以認為一個特定算法“運行工作量”的大小,只依賴于問題的規(guī)模(通常用整數(shù)量n 表示),或者說,它是問題規(guī)模的函數(shù)。

一個算法是由控制結(jié)構(gòu)(順序、分支和循環(huán)三種)和原操作(指固有數(shù)據(jù)類型的操作)構(gòu)成的,則算法時間取決于兩者的綜合效果。為了便于比較同一問題的不同算法,通常的做法是,從算法中選取一種對于所研究的問題(或算法類型)來說是基本運算的原操作,以該基本操作重復(fù)執(zhí)行的次數(shù)作為算法的時間度量。

了解更多單片機應(yīng)用編程技巧,請見以下鏈接http://www.holtek.com.cn/referanc/htk_book.htm

→ 『關(guān)閉窗口』
 dav
 [ → 我要發(fā)表 ]
上篇文章:利用MCU單片機開發(fā)復(fù)雜項目時,用C還是匯編開發(fā)?
下篇文章:如何進行MCU單片機編程可以減少程序的bug?
→ 主題所屬分類:  半導(dǎo)體器件 → 應(yīng)用信息
 熱門文章
 如何申請EtherCAT技術(shù)協(xié)會(ETG)會員資格 (200281)
 臺北國際計算機展(COMPUTEX 2015)參展商名… (107849)
 上海市集成電路行業(yè)協(xié)會(SICA) (96801)
 USB-IF Members Company List (89197)
 第十七屆中國專利優(yōu)秀獎項目名單(507項) (78098)
 蘋果授權(quán)MFi制造商名單-Authorized MFi Lic… (73527)
 臺北國際計算機展(COMPUTEX 2015)參展商名… (70800)
 中國130家太陽能光伏組件企業(yè)介紹(3) (59403)
 PLC論壇 (54258)
 中國130家太陽能光伏組件企業(yè)介紹(2) (50760)
 最近更新
 涉及圖形用戶界面的產(chǎn)品外觀設(shè)計專利申請指引 (12月18日)
 jpg、gif、png、webp等主流圖片格式選擇建議 (9月9日)
 AI演進推動5G與Wi-Fi連接方式的變革 (9月6日)
 晶振:人工智能時代的精密脈搏 (8月29日)
 晶振—機械臂高精度動作的“隱形指揮官” (8月29日)
 趨膚效應(yīng)(Skin Effect)對電子電器的影響及應(yīng)… (8月18日)
 一本面向設(shè)計工程師精心修訂和更新的《ESD應(yīng)用手冊… (3月10日)
 表皮電子學的代表作:石墨烯紋身 (2月26日)
 在晶圓級大規(guī)模生產(chǎn)中引入脈沖激光沉積(PLD)技術(shù) (1月21日)
 你聽說過PiezoMEMS技術(shù)嗎? (1月21日)
 文章搜索
搜索選項:            
  → 評論內(nèi)容 (點擊查看)
您是否還沒有 注冊 或還沒有 登陸 本站?!
關(guān)于我們 ┋ 免責聲明 ┋ 產(chǎn)品與服務(wù) ┋ 聯(lián)系我們 ┋ About 365PR ┋ Join 365PR
Copyright @ 2005-2008 365pr.net Ltd. All Rights Reserved. 深圳市產(chǎn)通互聯(lián)網(wǎng)有限公司 版權(quán)所有
E-mail:postmaster@365pr.net 不良信息舉報 備案號:粵ICP備06070889號