|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
AVR單片機(jī)的C與BASIC語(yǔ)言之爭(zhēng) |
| 作者:AVRx007 欄目:單片機(jī) |
AVR單片機(jī)的C與BASIC語(yǔ)言之爭(zhēng) 不知何時(shí),PC上的CB之爭(zhēng)居然延續(xù)到小小的8位單片機(jī)AVR上 以前51的內(nèi)部SRAM才256B那么少,又有難啃的布爾處理機(jī),51的高級(jí)語(yǔ)言基本是C了。 應(yīng)該是從AVR這款沒(méi)有布爾處理機(jī)又帶著比51大了不少的內(nèi)部SRAM的8位單片機(jī)的到來(lái)開(kāi)始,蚊蟲(chóng)孳生,這個(gè)內(nèi)部SRAM變成高級(jí)語(yǔ)言的藏身之所,除了C以外,BASIC也帶著秘密武器悄悄的走進(jìn)來(lái)了。 這個(gè)秘密武器不簡(jiǎn)單----PC上的VB是低能解釋型語(yǔ)言,而這個(gè)FASTAVR卻是編譯后的代碼直接執(zhí)行的,即編譯型語(yǔ)言,而且編譯效率還蠻高的說(shuō)。 于是 C與BASIC語(yǔ)言之爭(zhēng) 又跑到小小的8位單片機(jī)AVR上燒起來(lái)了 請(qǐng)創(chuàng)建FASTAVR分類(lèi),謝謝![演變成單片機(jī)的C與BASIC語(yǔ)言之爭(zhēng)了] http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=543497&bbs_page_no=1&bbs_id=1041---創(chuàng)建了新的子論壇。 [新版新貼新?tīng)?zhēng)議]FASTAVR,真的是一個(gè)有資格用于工控領(lǐng)域的編譯器么? http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=609815&bbs_page_no=1&bbs_id=1041 不知道大家如何看待呢? * - 本貼最后修改時(shí)間:2006-3-27 11:04:56 修改者:AVRx007 請(qǐng)創(chuàng)建fastavr分類(lèi),謝謝![演變成單片機(jī)的c與basic語(yǔ)言之爭(zhēng)了] |
| 2樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/25 19:13:00 發(fā)布:
名詞解釋?zhuān)壕幾g型語(yǔ)言 與 解釋型語(yǔ)言 編譯型語(yǔ)言 英文原義:Compiled Language 中文釋義:編譯型語(yǔ)言 注 解:一種語(yǔ)言,它需要編譯器程序?qū)⒕幊淘创a轉(zhuǎn)換成可執(zhí)行的機(jī)器語(yǔ)言二進(jìn)制程序。一經(jīng)編譯,就可從程序的二進(jìn)制形式多次運(yùn)行程序,而無(wú)需再次編譯。編譯型語(yǔ)言/程序運(yùn)行往往比解釋型語(yǔ)言或偽代碼語(yǔ)言快,但卻需要編譯器(可能很昂貴),而且用編譯型語(yǔ)言編程常常會(huì)比用解釋型語(yǔ)言和偽代碼語(yǔ)言編程難。編譯型語(yǔ)言的例子有C和C++、COBOL以及FORTRAN。 解釋型語(yǔ)言 英文原義:Interpreted Language 中文釋義:解釋型語(yǔ)言 注 解:與編譯型程序不同,每次運(yùn)行解釋型程序時(shí)都要由解釋器程序?qū)崟r(shí)地將源代碼轉(zhuǎn)換成二進(jìn)制形式,而編譯型程序由編譯器一次性將源代碼轉(zhuǎn)換成可執(zhí)行代碼,隨后從其二進(jìn)制形式運(yùn)行。解釋型語(yǔ)言(以及用它們編寫(xiě)的程序)往往要比編譯型語(yǔ)言及偽代碼語(yǔ)言/程序慢,并且通常只有有限的底層操作系統(tǒng)功能訪問(wèn)權(quán)限或直接訪問(wèn)硬件的權(quán)限。但從另一角度來(lái)說(shuō),它們無(wú)需編譯器(可能非常昂貴),并且經(jīng)常包含在操作系統(tǒng)中,通常比編譯型語(yǔ)言更容易編程。解釋型語(yǔ)言的例子有BASIC、Perl、PYTHON和REXX/Object REXX。 * - 本貼最后修改時(shí)間:2006-3-26 21:44:22 修改者:AVRx007 |
|
| 3樓: | >>參與討論 |
| 作者: NE5532 于 2006/3/25 20:49:00 發(fā)布:
匯編素王道 偶一個(gè)AVR的程序,把硬件驅(qū)動(dòng)換成匯編語(yǔ)言編寫(xiě)后,節(jié)約了5%的空間。 |
|
| 4樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/25 22:33:00 發(fā)布:
匯編指令是基本,一一對(duì)應(yīng)機(jī)器碼。 ASM匯編指令是基本,一一對(duì)應(yīng)機(jī)器碼。 等于直接寫(xiě)二進(jìn)制碼,只不過(guò)改成了助記符號(hào)而已,根本不能拿來(lái)做比較的。 匯編指令寫(xiě)成的程序只能對(duì)應(yīng)特定的單片機(jī),沒(méi)有移植性。 |
|
| 5樓: | >>參與討論 |
| 作者: NE5532 于 2006/3/26 8:53:00 發(fā)布:
對(duì)于硬件驅(qū)動(dòng),沒(méi)有比匯編更合適的了。 |
|
| 6樓: | >>參與討論 |
| 作者: madaha 于 2006/3/26 9:41:00 發(fā)布:
前年在這里已經(jīng)吵得夠熱鬧的了。 毫無(wú)意義。 |
|
| 7樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/26 12:11:00 發(fā)布:
暈菜~~~又在殘害后一代 |
|
| 8樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/26 12:41:00 發(fā)布:
找到了這里的舊帖。 兩年過(guò)去了。 gxlujd現(xiàn)在已經(jīng)取得真經(jīng),重歸我佛,用GCCAVR了。 |
|
| 9樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/26 14:45:00 發(fā)布:
NE5532,更正你一個(gè)非常根本的錯(cuò)誤認(rèn)知! NE5532,更正你一個(gè)非常根本的錯(cuò)誤認(rèn)知! 真正的王道是C+嵌入ASM匯編-------高級(jí)語(yǔ)言與ASM并不是互相排斥的。 ASM匯編指令是基本,一一對(duì)應(yīng)機(jī)器碼,等于直接寫(xiě)二進(jìn)制碼,只不過(guò)改成了助記符號(hào)而已,根本不能拿來(lái)跟高級(jí)語(yǔ)言做比較的。 匯編指令寫(xiě)成的程序只能對(duì)應(yīng)特定的單片機(jī),速度最高,但沒(méi)有移植性。 BASIC的優(yōu)點(diǎn)是易學(xué),但不嚴(yán)謹(jǐn)而且移植性非常低 PASCAL注重于數(shù)學(xué)運(yùn)算處理,對(duì)硬件的控制相當(dāng)差 C具備高度可移植性,對(duì)低層硬件的控制也相當(dāng)靈活 從程序規(guī)模的簡(jiǎn)單到復(fù)雜,前后臺(tái)結(jié)構(gòu),RTOS,到linux這些真正的操作系統(tǒng),到可以用C來(lái)完成。 從硬件規(guī)模的簡(jiǎn)單到復(fù)雜,z80,mcs51,MC68HC,pic,avr,MSP430,dspic,arm,mips都可以實(shí)現(xiàn)很大程度的移植性,很多用C寫(xiě)的RTOS都能實(shí)現(xiàn)很大程度的平臺(tái)無(wú)關(guān)性,例如 uCOS. 所有高級(jí)語(yǔ)言最終都是變成機(jī)器碼才能讓處理器去執(zhí)行的,所以高級(jí)語(yǔ)言與ASM并不是互相排斥的,這些編譯器都提供嵌入ASM匯編來(lái)實(shí)現(xiàn)特殊應(yīng)用。 但高級(jí)語(yǔ)言是互斥的-----不可能一個(gè)單片機(jī)同時(shí)用C+BASIC編程吧? BASIC+嵌入?yún)R編,雖然解決了底層控制的問(wèn)題,但移植性依然非常低。 C+嵌入ASM匯編是一個(gè)非常合適的互補(bǔ)技術(shù),從復(fù)雜的高級(jí)算術(shù)運(yùn)算到高速的底層控制都能完美的配合,而且具備很好的移植性 真正的王道是C+嵌入ASM匯編!!!! |
|
| 10樓: | >>參與討論 |
| 作者: NE5532 于 2006/3/26 19:49:00 發(fā)布:
請(qǐng)AVRx007注意,我說(shuō)的是硬件驅(qū)動(dòng)用匯編。 在應(yīng)用層上用C來(lái)寫(xiě)方便,在底層驅(qū)動(dòng)上用匯編省資源,速度快。 |
|
| 11樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/26 23:23:00 發(fā)布:
哈哈,總是斗爭(zhēng)...菜農(nóng)在AVR和ARM只用C++,其他用C |
|
| 12樓: | >>參與討論 |
| 作者: violit 于 2006/3/27 0:17:00 發(fā)布:
沒(méi)什么爭(zhēng)的~~適合自己的就是最好的` 語(yǔ)言不過(guò)是工具~不要被工具所奴役~~~~ 路有千萬(wàn)條,管他王道匪道? |
|
| 13樓: | >>參與討論 |
| 作者: hotpower 于 2006/3/27 0:45:00 發(fā)布:
哈哈,不管黑菜和白菜都是蔬菜 |
|
| 14樓: | >>參與討論 |
| 作者: AVRx007 于 2006/3/27 11:06:00 發(fā)布:
FASTAVR,真的是一個(gè)有資格用于工控領(lǐng)域的編譯器么? haha |
|
| 15樓: | >>參與討論 |
| 作者: 賣(mài)報(bào)小行家 于 2006/4/14 12:42:00 發(fā)布:
有了自行車(chē),幾公里的距離非得用腳嗎? 只用C,對(duì)匯編,我的看法就是"有了自行車(chē),幾公里的距離非得用腳嗎?" |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |