回覆列表
  • 1 # 會追劇的coder

    目前肯定是彙編和C啊,要直接和硬體通訊,當然是要用這倆大佬啦,不過現在也有在開發嵌入式JAVA的,但是效能肯定沒有底層語言好

  • 2 # sharpxcb

    以一個業內近15年工作經驗的人來解答:微控制器派系眾多,美系、日系、韓系、臺系,還有現在的大陸系,各家使用的IDE各不相同。

    對於非公版MCU來說,只有原廠對自家底層最熟悉,各種指令架構各種坑,只有自家的編譯器才能正確解釋,當然自家的彙編指令集是最高效的,各種停產各種升級,想要移植換片子,想起來就頭大!

    對於公版的如8051、ARM架構,繁衍出很多能夠適配的第三方編譯環境,如Keil、IAR等,使用C語言編輯,能夠完全不用理會各種“bit寬度、BANK、Page”,不太瞭解指令架構也可以越過各種溝各種坑!

    只要給的起錢,這些第三方的編譯器都會盡量滿足你,想要用什麼語言來寫,只要你高興就好。未來Python、JavaScript流行開來,這些也能免費適配。

    總之不管用什麼語言來編輯,能夠簡單高效的解析出硬體需求,實現產品所規劃的功能才是一個程式設計師的價值所在。

  • 3 # 老好學IT

    現在主要還是c語言和組合語言,這兩個是當前底層系統必須的。未來可能會出現新的語言,現在也有在微控制器上跑Python直譯器然後用Python編寫應用程式的,如micropython。也有JavaScript虛擬機器的,然後使用JavaScript編寫應用。這兩個在微控制器軟體開發中還沒成氣候。

  • 4 # 超子說物聯網

    除了C和彙編,超子還接觸過使用Arduino、Labview、Python以及Lua對微控制器進行程式開發。不過這些相對比較小眾,沒有普適性。

    一、Arduino

    Arduino應該算是一種對C和C++語言高度延伸的特有程式語言吧,因為其核心庫是基於C和C++混合編寫而成,提供給使用者高度封裝過的API介面。

    其通常只針對於特定的Arduino環境的硬體開發板,通常是ATMEL公司的ATMEGA系列的8位或是32位的微控制器。還有就是ESP8266也可以使用Arduino進行開發。

    二、Labview

    LabVIEW是由美國國家儀器(NI)公司研製開發的一種程式語言。它不同於C這種基於文字的程式語言,而是採用圖形化編輯語言G編寫程式。透過拖動控制元件,使用連線線連線各個控制元件,所有的資料都要基於資料流的模式。

    使用LabVIEW可以對STM32微控制器進行程式設計,當然這種方式還是比較小眾,適合有一定Labview基礎的人群。

    三、Python

    一說起Python,知道的人肯定非常多,它是一種面向物件的動態型別語言,而且也是一個非常熱門的程式語言。更多的應該和爬蟲或是人工智慧聯絡在一起。

    不過Python確實可以對STM32微控制器進行程式設計,當然功能上並不是太多,使用上也不是太友好,也不具備普適性,而且需要基於特定的STM32開發板。

    四、Lua

    Lua是一種非常輕量而且十分小巧的指令碼程式語言,Lua語言非常簡單,易擴充套件,而且非常靈活。幾乎在所有作業系統和平臺上都可以編譯,執行。

    超子經常使用Lua語言對2G或是4G模組進行程式設計,使用起來非常靈活。

    總而言之,C語言是目前使用最廣泛的微控制器程式語言,其他的程式語言相對比較小眾,限制也比較多。適合有特定需求的人群。

  • 中秋節和大豐收的關聯?
  • 葡萄皮能吃嗎,有什麼營養價值嗎?