新聞詳情
單片機開發可以用哪些語言?瀏覽數:13次
從單片機誕生開始發展到現在,單片機的規格并沒有多大的變化,但是語言和支持軟件的擴展為應用程序開發開辟了許多途徑。多年來,單片機進行編程涉及兩種語言的選擇:C語言和匯編語言。但是隨著現在可用于單片機的新語言出現,用戶在應用程序設計中面臨更多選擇。 單片機開發工程師表示,單片機開發用哪種語言取決于你正在處理的應用程序。當前主要有以下幾種語言可以用于單片機開發: (1)C語言與匯編語言 在單片機可以使用新語言之前,兩個可用的選擇是C和Assembly。在深入探索新語言之前,讓我們簡單看一下。C語是在20世紀70年代初開發的,也是一種流行的單片機語言。C可以和單片機一起使用,因為C有處理內存分配的能力,也可以執行if語句、循環、數學表達等復雜功能;匯編是 C語言的另一種選擇。codec是一種比較古老的語言,通常使用特定于設備的代碼,并且使用匯編工具來轉換它。通過該語言,用戶可以直接訪問 CPU,在 CPU中精心調節程序,從而實現精確的計時應用。Composition提供了更好的 CPU使用量,以及 C不支持的其他指令,比如用特定的 BIT指令執行位操作。 (2)MicroPython語言 Python是一種功能豐富的解釋性語言,具有簡單、清晰、通用的特點。對于微處理器而言,這些功能也使得語言過于龐大。但物理學家 DamienGeorge在2013年“Kickstarter”活動的幫助下,能夠把 Python修改為一個適合單片機的更小版本 MicroPython。MicroPython代碼是根據 MIT許可開放源碼的。這種語言使用了一小部分標準 Python庫在微處理器的裸機上運行。該軟件僅能運行256 k的空間和16 k的 RAM,但它被設計成與普通 Python完全兼容。 起初,它被設計為可以在基于 ARM的系統上運行,其中包括 BBC micro: bit, Adafruit Circuit Playground Express和 MicroPython PyBoard,現在還可以用于其他處理器,包括ESP8266和ESP32。MicroPython非常擅長于復雜項目的原型設計。舉例來說,在ESP8266上, IoT項目可以創建一個 IoT項目,只需一些簡單的函數調用,將 MicroPython項目連接到本地Wi-Fi點,然后開始向 MQTT代理傳輸信息。 (3)Blockly語言 Blockly是一個受 Google支持的開源編程庫,它的目的是通過拖放塊使代碼更有邏輯。使用者不需要依賴于普通會話中不能用的單詞和短語,而是把這些詞組放入環境中,從而確定程序如何運行。舉例來說,不需要編寫 IF語句,用戶就可以把 IF塊拖拽到工作空間中,而且還可以把結果操作拖拽到 IF語句塊中。 建立了模塊之后,用戶就可以用很多種語言(包括 JavaScript, Python, PHP, Lua和 Dart)導出它的 Blockly代碼。由于 Blockly系統需要一個特殊的連接,并且不允許不兼容的塊連接,所以 Blockly系統的一個優勢就是幾乎不可能出現錯誤(不是 bug或錯誤,只是老的錯誤)。雖然這種編程方法可以在許多平臺上使用,包括 Micro Bit和 Adafruit Circuit Playground Express,但并非為最終的商用產品而設計。然而,它在原型設計階段很有用,特別是當需要概念驗證、了解設備細節時(如寄存器、配置位和 IDE配置)將會很有用。 (4)Arduino C++語言 雖然 Arduino編程語言被稱為“Arduino編程語言”,但是實際上 Arduino是用很好的 C++編程的,并且使用了 Arduino特定庫的子集。Arduino C++與傳統 C++的不同之處是:一般的單片機例程,因為標準庫 C++函數不能在它的功能和內存上運行。利用 C++這個小型版本使得該語言更易訪問,因為很多設計者已經熟悉了常規 C++。事實上,通過使用編譯器,可以用 C++編寫代碼,然后將其解釋為 Arduino可用的代碼。 采用 Arduino C++的優點是,它可以在商業環境中工作,比大型語言如 Python要快,而且可以高度移植。應用通用函數自動處理初始時在 ARM內核中為 Uno編譯代碼。 (5)BASIC語言 BASIC語言最早出現于60年代,隨著個人電腦在80年代的興起進入了它的鼎盛時期。BASIC (初學者的通用符號指令代碼的首字母縮寫)到今天仍在使用,這使得設計者能夠把更多的精力集中于硬件,而更注重于軟件。單片機上使用的BASIC的兩個例子是PICAXE生產的,Microch使用PICASICSAMP(由Arallax生產)和PICAXE。BASIC是原型甚至硬件開發的好語言,但由于其速度慢、能耗低,BASIC應避免在商業產品中使用。 應用于單片機時, BASIC的解譯將導致性能的降低。然而,這種語言的優點是高度可移植性。任何用 BASIC編寫的代碼都可用于任何帶有 BASIC解釋器的設備上。以往使用單片機時,設計者要選擇自己喜歡的平臺,再學習它所用的語言。現在,隨著語言和軟件的發展,語言可能會決定設計者使用哪種平臺。假如設計者想要尋找一個特定的功能,如 GPIO支持、網絡、通過 SSH通信的能力,那么語言和系統的選擇就是找到最優開發路徑的重要因素。 以上就是單片機工程師分享的關于單片機開發可以用哪些語言的知識說明,如果您還有關于單片機的疑問,或者有單片機定制需求。可以直接和我們聯系,我們專注于單片機應用方案的開發、MCU定制開發,致力于為廣大廠家提供更多新穎的電子產品! |