開發(fā)單片機用匯編語言好?還是用C語言好?
對于目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。
本文引用地址:http://www.ex-cimer.com/article/201611/321684.htm匯編語言,一條指令就對應一個機器碼,每一步執(zhí)行什么動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在資源較少單片機開發(fā)中,我們還是建議采用匯編語言比較好。
而C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言有功能豐富的庫函數(shù)、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現(xiàn)對系統(tǒng)硬件的控制。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛采用的自頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟件開發(fā)中采用模塊化程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟件開發(fā)的一個主流。用C語言來編寫目標系統(tǒng)軟件,會大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。
綜上所述,在目前小容量MCU的單片機中,使用匯編語言進行開發(fā)比較好。而用C語言進行單片機程序設計是單片機開發(fā)與應用的必然趨勢。所以作為一個技術全面并涉足較大規(guī)模的軟件系統(tǒng)開發(fā)的單片機開發(fā)人員最好能夠掌握基本的C語言編程。
評論