雷竞技推荐码怎么获得

 找回密碼
 raybet12
查看: 1176|回複: 1
打印 上一主題 下一主題

開發單片機用彙編語言好?還是用C語言好?

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2022-3-2 22:11:21 | 隻看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
     彙編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少、程序執行效率高。但是不同的CPU,其彙編語言可能有所差異,所以不易移植。
      對於目前普遍使用的RISC架構的8bitMCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯後,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而彙編語言,一條指令就對應一個機器碼,每一步執行什麼動作都很清楚,並且程序大小和堆棧調用情況都容易控製,調試起來也比較方便。所以在資源較少單片機開發中,我們還是建議采用彙編語言比較好。
      而C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,並具備彙編語言的功能。C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對係統硬件的控製。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛采用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟件開發中采用模塊化程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟件開發的一個主流。用C語言來編寫目標係統軟件,會大大縮短開發周期,且明顯地增加軟件的可讀性,便於改進和擴充,從而研製出規模更大、性能更完備的係統。
      對於目前普遍使用的RISC架構的8bitMCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯後,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而彙編語言,一條指令就對應一個機器碼,每一步執行什幺動作都很清楚,並且程序大小和堆棧調用情況都容易控製,調試起來也比較方便。所以在單片機開發中,我們還是建議采用彙編語言比較好。
      對於複雜而開發時間緊的項目時,可以采用C語言,但前提是要求對該MCU係統的C語言和C編譯器非常熟悉,特別要注意該C編譯係統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但不同的MCU廠家其C語言編譯係統是有所差別的,特別是在一些特殊功能模塊的操作上。如果對這些特性不了解,那調試起來就有的煩了,到頭來可能還不如用彙編來的快。


回複

使用道具 舉報

沙發
發表於 2022-3-30 07:42:41 | 隻看該作者
學習了學習了學習了學習了學習了

回複 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注冊

本版積分規則

雷竞技推荐码怎么获得 ( )

GMT+8, 2024-8-28 06:33

Powered by © 2011-2022 www.hazyshadow.com 版權所有 免責聲明 不良信息舉報

技術驅動未來! 雷竞技推荐码怎么获得—專業電工基礎知識雷竞技 pc版學習網站。

欄目導航: 工控家園 | 三菱plc | 西門子plc | 歐姆龍plc | plc視頻教程

快速回複 返回頂部 返回列表