{eval=Array;=+count(Array);}
除了C和匯編,超子還接觸過使用Arduino、Labview、Python以及Lua對單片機進行程序開發。不過這些相對比較小眾,沒有普適性。
Arduino應該算是一種對C和C++語言高度延伸的特有編程語言吧,因為其核心庫是基于C和C++混合編寫而成,提供給用戶高度封裝過的API接口。
其通常只針對于特定的Arduino環境的硬件開發板,通常是ATMEL公司的ATMEGA系列的8位或是32位的單片機。還有就是ESP8266也可以使用Arduino進行開發。
LabVIEW是由美國國家儀器(NI)公司研制開發的一種編程語言。它不同于C這種基于文本的編程語言,而是采用圖形化編輯語言G編寫程序。通過拖動控件,使用連接線連接各個控件,所有的數據都要基于數據流的模式。
使用LabVIEW可以對STM32單片機進行編程,當然這種方式還是比較小眾,適合有一定Labview基礎的人群。
一說起Python,知道的人肯定非常多,它是一種面向對象的動態類型語言,而且也是一個非常熱門的編程語言。更多的應該和爬蟲或是人工智能聯系在一起。
不過Python確實可以對STM32單片機進行編程,當然功能上并不是太多,使用上也不是太友好,也不具備普適性,而且需要基于特定的STM32開發板。
Lua是一種非常輕量而且十分小巧的腳本編程語言,Lua語言非常簡單,易擴展,而且非常靈活。幾乎在所有操作系統和平臺上都可以編譯,運行。
超子經常使用Lua語言對2G或是4G模塊進行編程,使用起來非常靈活。
以一個業內近15年工作經驗的人來解答:單片機派系眾多,美系、日系、韓系、臺系,還有現在的大陸系,各家使用的IDE各不相同。
對于非公版MCU來說,只有原廠對自家底層最熟悉,各種指令架構各種坑,只有自家的編譯器才能正確解釋,當然自家的匯編指令集是最高效的,各種停產各種升級,想要移植換片子,想起來就頭大!
對于公版的如8051、ARM架構,繁衍出很多能夠適配的第三方編譯環境,如Keil、IAR等,使用C語言編輯,能夠完全不用理會各種“bit寬度、BANK、Page”,不太了解指令架構也可以越過各種溝各種坑!
只要給的起錢,這些第三方的編譯器都會盡量滿足你,想要用什么語言來寫,只要你高興就好。未來Python、JavaScript流行開來,這些也能免費適配。
總之不管用什么語言來編輯,能夠簡單高效的解析出硬件需求,實現產品所規劃的功能才是一個程序員的價值所在。
現在主要還是c語言和匯編語言,這兩個是當前底層系統必須的。未來可能會出現新的語言,現在也有在單片機上跑Python解釋器然后用Python編寫應用程序的,如micropython。也有JavaScript虛擬機的,然后使用JavaScript編寫應用。這兩個在單片機軟件開發中還沒成氣候。
10
回答10
回答10
回答10
回答10
回答3
回答7
回答0
回答9
回答0
回答