天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

單片機開發用哪種語言最好?

更新時間: 2020-08-05
閱讀量:9441

在過去的幾十年中,單片機的規格變化不大,但是語言和支持軟件的擴展為應用程序開發開辟了許多途徑。多年來,對單片機進行編程涉及到兩種語言的選擇:C語言和匯編語言。但是隨著現在可用于微處理器的新語言,用戶在應用程序設計中面臨更多選擇。

單片機開發用哪種語言最好?

英銳恩單片機開發工程師表示,這個問題沒有明確的答案,因為這取決于你正在處理的應用程序。

20200730155914.png

(1)C語言與匯編語言

在單片機可以使用新語言之前,可用的兩個選擇是C和Assembly。在深入探討新語言之前,讓我們簡要地看一下它們。 即使C語言是在1970年代初期開發的,它也是一種流行的單片機語言。對于與單片機一起使用,C可以很好地運行,因為C具有處理內存分配的能力,同時還可以執行諸如if語句,循環和數學表達式之類的復雜功能。

匯編提供了C的替代方法,具有一些優點。匯編是一種較舊的語言,通常使用特定于設備的代碼,并使用匯編程序實用程序對其進行轉換。使用這種語言,用戶可以直接訪問CPU,在其中可以仔細調整例程以實現精確的計時應用。匯編提供了更好的CPU使用率,以及C不支持的其他指令集,例如使用特定的BIT指令進行位操作。

(2)MicroPython

Python是一種功能豐富的解釋語言,以其簡單,清晰和通用用途而著稱。這些功能也使該語言對于微處理器來說太大了。但是,在2013年的Kickstarter活動的幫助下,物理學家Damien George能夠將Python改編成適用于單片機的較小版本MicroPython。

MicroPython代碼在MIT許可下是開源的。該語言使用標準Python庫的一小部分在微處理器的裸機上運行。它只能使用256k的空間和16k的RAM進行操作,但是它被設計為與常規Python完全兼容。

它最初設計為可在基于ARM的系統上運行,包括BBC micro :bit,Adafruit Circuit Playground Express和MicroPython PyBoard,現在也可用于其他處理器,包括ESP8266和ESP32。

MicroPython在復雜項目的原型設計方面大放異彩。例如,在ESP8266上,可以通過幾個簡單的函數調用來創建IoT項目,以將MicroPython項目連接到本地Wi-Fi點,然后開始將信息流傳輸到MQTT代理。

(3)Blockly

Blockly是Google支持的開放源代碼編程庫,旨在通過使用拖放塊使代碼在視覺上具有邏輯性。

用戶無需依賴正常對話中沒有意義的單詞和短語,而是將塊放置到環境中并將它們連接在一起以定義程序的運行方式。例如,用戶無需編寫IF語句,而是將IF塊拖到工作區中,并且將所得到的操作也拖到IF語句塊內。

構建塊后,用戶可以使用多種語言(包括JavaScript,Python,PHP,Lua和Dart)導出其Blockly代碼。Blockly系統的優點之一是幾乎不可能發生錯誤(不是bug或錯誤,只是普通的舊錯誤),因為塊需要特定的連接并且不允許不兼容的塊進行連接。

盡管此編程方法可在包括Micro Bit和Adafruit Circuit Playground Express在內的許多平臺上使用,但并非設計用于最終的商業產品。但是,它在原型設計階段非常有用,尤其是在需要概念驗證且學習設備詳細信息會花費太長時間(例如寄存器,配置位和IDE配置)的情況下。

(4)Arduino C++

盡管將其稱為“Arduino編程語言”,但Arduino實際上是使用良好的舊C++進行編程的,并使用特定于Arduino的庫的子集。

Arduino C++與常規C++的區別包括單片機的通用例程,因為標準庫C++函數無法在其有限的功能和內存上運行。使用這種較小版本的C++使該語言具有很高的可訪問性,因為許多設計人員已經熟悉常規C++。實際上,通過使用編譯器,代碼可以用C++編寫,然后解釋為Arduino可用的代碼。

使用Arduino C++的優勢在于它適用于商業環境,比諸如Python之類的較大語言更快,并且具有高度可移植性。庫使用通用函數自動處理最初為Uno在ARM內核上編譯代碼。

(5)BASIC

BASIC是一種語言,最早出現于60年代,隨著80年代個人計算機的興起而進入了鼎盛時期。由于其簡單性和解釋性,BASIC(初學者通用符號指令代碼的首字母縮寫)至今仍在使用,這使設計人員可以將更多的精力放在硬件上,而將精力放在軟件上。

單片機上使用的BASIC的兩個示例是PICAXE生產的并使用Microchip PIC單片機的BASIC Stamp(由Parallax生產)和PICAXE。BASIC是用于原型甚至硬件開發的好語言,但由于其速度慢和能耗低,在商業產品中應避免使用BASIC。

當在單片機上使用時,會解釋BASIC,這會導致性能下降。但是,該語言的優勢在于高度可移植。用BASIC編寫的任何代碼都可以在具有BASIC解釋器的任何設備上使用。 過去使用單片機時,設計人員必須選擇其首選平臺,然后學習其使用的語言。隨著語言和軟件的發展,如今,語言可以決定設計師使用哪個平臺。如果設計人員正在尋找特定功能,例如GPIO支持、網絡,通過SSH進行通信的能力或其他,那么語言和系統的選擇可能是尋找最佳開發路徑的重要因素。

以上就是英銳恩單片機開發工程師分享的單片機開發用哪種語言的知識。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機、運放芯片和模擬開關。

联系我们: 莫力| 洛扎县| 新巴尔虎左旗| 黑龙江省| 尖扎县| 织金县| 扶沟县| 龙江县| 民县| 商水县| 弥渡县| 石景山区| 惠来县| 兴隆县| 社旗县| 龙泉市| 揭西县| 黑河市| 屏边| 高平市| 池州市| 敦煌市| 嘉义县| 淮北市| 仙桃市| 寻乌县| 同德县| 石河子市| 西峡县| 荔波县| 鄂托克旗| 巨野县| 兰西县| 车致| 济宁市| 宁城县| 长乐市| 安乡县| 集贤县| 邹城市| 泽库县|