單片機(jī)為什么還在用C語(yǔ)言編程?答案是:C語(yǔ)言是最適合單片機(jī)編程的高級(jí)語(yǔ)言。
這個(gè)問(wèn)題的意思應(yīng)該是:現(xiàn)在有很多很好用的高級(jí)語(yǔ)言,如java,python,VC等等,為什么這些語(yǔ)言不能用來(lái)編寫(xiě)單片機(jī)程序呢?那么這個(gè)問(wèn)題的答案就是:不能不能,而是不合適。
一、單片機(jī)編程的特點(diǎn)
對(duì)單片機(jī)編程來(lái)說(shuō),首先要考慮的是單片機(jī)的程序空間和數(shù)據(jù)空間都是有限的,所以要讓程序盡量短小精悍,以節(jié)省程序占用的存儲(chǔ)空間。
第二、單片機(jī)編程的一個(gè)主要對(duì)象是對(duì)單片機(jī)的端口和內(nèi)部寄存器的操作和配置,這個(gè)需要比較精確的時(shí)序控制。
第三、單片機(jī)算法運(yùn)算中,盡量使用加法、減法、移位運(yùn)算,因?yàn)槌朔ê统ㄟ\(yùn)算會(huì)非常費(fèi)時(shí)間,尤其是除法,會(huì)耗費(fèi)很多時(shí)間,這對(duì)于速度本身就有限制的單片機(jī)來(lái)說(shuō),是一個(gè)很大的負(fù)擔(dān)。
二、高級(jí)語(yǔ)言編寫(xiě)單片機(jī)程序的缺陷
高級(jí)語(yǔ)言可以實(shí)現(xiàn)更為優(yōu)化的算法,更為方便的執(zhí)行方案,但是,高級(jí)語(yǔ)言對(duì)程序存儲(chǔ)空間的占用要比匯編和C語(yǔ)言多很多。這是最致命的一點(diǎn),單片機(jī)有限的存儲(chǔ)空間需要靠精打細(xì)算來(lái)設(shè)計(jì)程序,根本經(jīng)不起高級(jí)語(yǔ)言臃腫的代碼體積。
高級(jí)語(yǔ)言無(wú)法實(shí)現(xiàn)精確的時(shí)序控制。
三、C語(yǔ)言是一個(gè)折中選擇
其實(shí)用C語(yǔ)言開(kāi)發(fā)單片機(jī)也是一個(gè)折中方案,因?yàn)樽钸m合單片機(jī)開(kāi)發(fā)的編程語(yǔ)言實(shí)在太過(guò)晦澀難懂,并且每一種單片機(jī)的匯編指令有很大區(qū)別,所以想把一個(gè)程序從這種單片機(jī)移植到另一種單片機(jī)簡(jiǎn)直是癡心妄想,還不如重新寫(xiě)一遍程序。
而C語(yǔ)言代碼執(zhí)行效率高,也比較精簡(jiǎn),更便于移植......所以在現(xiàn)今的單片機(jī)編程語(yǔ)言中,C語(yǔ)言才會(huì)占據(jù)絕對(duì)主導(dǎo)地位
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44960瀏覽量
648775 -
JAVA
+關(guān)注
關(guān)注
20文章
2987瀏覽量
108192 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140971
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)C語(yǔ)言實(shí)例(350+例)
新概念51單片機(jī)C語(yǔ)言教程入門(mén)、提高、開(kāi)發(fā)、拓展全攻略
單片機(jī)C語(yǔ)言編程寶典大全,初學(xué)必備【強(qiáng)推下載!】
gitee 支持的編程語(yǔ)言有哪些
Triton編譯器支持的編程語(yǔ)言
如何選擇適合自己的編程語(yǔ)言
C語(yǔ)言中的socket編程基礎(chǔ)
單片機(jī)編程語(yǔ)言有哪些選擇
MCU編程語(yǔ)言和開(kāi)發(fā)環(huán)境介紹
C語(yǔ)言與其他編程語(yǔ)言的比較
Orin芯片的編程語(yǔ)言支持
hex文件如何查看原c語(yǔ)言代碼
新手如何學(xué)單片機(jī)

評(píng)論