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