C 微控制器高手,微控制器為什麼不用C 語言程式設計呢

時間 2022-08-02 11:25:03

1樓:老徐

相信很多初學者都有同樣的疑問,也有同樣的希望。就是用c++語言來寫微控制器程式的源**。現在我來解釋一下微控制器的源**程式幾乎沒有人用c++來寫的。

1. 假設一下你現在用c++寫完了一個程式**。那麼你要讓微控制器認識必須要編譯吧,對吧 。請問你有合適的編譯軟體來編譯你的**嗎?

2. 就算有編譯器能編譯,你能保證它的**效率一定能給微控制器用嗎?

微控制器的rom是k級的水平,執行指令的速度也遠遠小於pc。絕對不能和pc機相比的。這個就決定了微控制器程式設計時很多時候要考慮它的**效率和**大小問題。

所以一般情況下對於微控制器程式設計我們之用組合語言或者c語言。就算是用c寫程式也要注意**的效率等問題。

還有就是隻有很大型的專案及應用程式開發才有可能有c++來寫程式。一般的系統檔案,應用程式都是用c來寫的。有的系統**甚至要用組合語言來寫。

舉個生活中的例子:如果你從家裡去公司上班你一般的出行方式是什麼?

1.坐公車 2.騎車 3.

自己開車 4.坐地鐵 5.走過去。

如果誰說他是做直升飛機去上班的。那要麼這個人腦子不正常,要麼就是太有錢了炫富。如果你要打蒼蠅用蒼蠅拍子就行了。

如果要你用巡航導彈來打蒼蠅,你認為可能嗎?

所以我們微控制器寫程式的話一般就是組合語言和c語言。幾乎沒有人用c++語言的。

2樓:匿名使用者

是c語言阿!微控制器是用c語言開發的!!!

3樓:匿名使用者

沒c++的微控制器吧,好像只有c的吧,你還 是用keil吧!

4樓:匿名使用者

可以啊。 現在 好多都用c 編了

微控制器為什麼不用c++語言程式設計呢?

5樓:夕楓沉影

你的想法確實是正確的,但是微控制器是跟硬體底層接觸的,c比c++更加好,並不是說它功能多,實現方便就可以的。而是要考慮很多因素。

1樓說的看起來是正確的,但是實際是不正確的。像那種真正的高手,雖然對其它語言會有一定的排斥性(這是正常的),但是如果他們真的想轉另一門語言並不會難。風險是一定要考慮的,就好像你買汽車,如果這輛汽車是有風險的,你會去買嗎?

c++在pc領域跟c可以說都差不多吧。因為pc的配置比微控制器好很多。可以想一下,為什麼過去那麼多年了,c++為什麼沒有取代c,而c為什麼又沒有取代彙編呢?

c++出現了那麼多年了,肯定有廠家試過用c++去開發微控制器的,對廠家來說,如果c++真的比c在微控制器領域更好,肯定會去換,但是為什麼卻沒有聽到誰去推廣呢?

2樓說的就不錯。

c++就是因為它的功能太強大了,所以有很多特性在微控制器上是實現不了的。

最重要的還是效率使然,雖然在電腦上c++和c的執行效率是有區別的,微控制器的硬體資源有限,當然會選用執行效率最好的。如果c++的效率跟c真的一樣了,那就不一樣了。

每門語言使用的方向都不一樣。正如有位仁兄說的「如果你的電腦記憶體只有128位元組,你去用c++試試會怎樣」。

沒有可能不考慮硬體的,如果不考慮硬體,那怎麼寫編譯器。

6樓:匿名使用者

微控制器主要跟硬體打交道,用的不是通用編譯器,而是微控制器專用編譯器,這個編譯器本身是要廠家開發的,越簡單越易開發這個編譯器,這個編譯器側重點是微控制器。

而c++是物件導向的,你雖用起來方便,但開發這個c++專用編譯器就麻煩了,

物件導向對微控制器來說是毫無用途,從實用角度講首選c,而不是c++了。這

是站在廠家的立場上說的。

7樓:匿名使用者

怎麼說呢,這看什麼應用場合了。高階的arm 、dsp、fpga也是可以當微控制器用的,這是一個成本的問題,在高階應用上很多用c++畢竟他有很多好處,但在一般的小系統應用上c++的優勢體現不出來,會產生更多的**,主要是他太嚴謹了,如果他的編譯器和c產生了一樣的**了那他的嚴謹性或許就體現不出來了。個人如此理解了

8樓:匿名使用者

其實主要就是10年前大家在用c開發微控制器程式,有一幫老人,他們對c,對系統很熟悉,對c++只是略懂一點,於是就不願意切換。總是說:換成c++那麼大的風險誰來承擔?

類似的,c++的創始人bs說過:這純屬是人們的一種固執的守舊觀念

如何用c++編寫一個程式放到微控制器中執行?

9樓:匿名使用者

c++程式執行時比較耗記憶體,在微控制器中的記憶體都是很少的,基本上沒有人用c++來寫微控制器的程式;另外微控制器也都不支援c++編譯後的彙編指令如try等

微控制器程式設計要用到c++嗎,如果用到了,具體是哪些程式呢?希望知道的朋友告訴一下啊

10樓:匿名使用者

學習微控制器是用c語言或用組合語言都可以,c++在微控制器上用不到,不過用組合語言編寫大的程式時麻煩,不知樓主學了c語言沒有啊?知道了基本的c語法編寫程式是不難的,你要成為微控制器高手,就要多編寫程式,分析程式,而且你的c語言學的要紮實!

11樓:匿名使用者

微控制器程式設計是用c語言和組合語言的,用到的不是程式,而是基本的語法和程式設計思路

12樓:匿名使用者

買本微控制器c語言的書自己看,或者在網上下個pdf格式的

微控制器,c++,選哪個方向以後比較好就業

13樓:匿名使用者

微控制器一般是底層的c語言比較多,嵌入式軟體發展不錯

c++上層應用比較多,資歷深的話,軟體架構發展不錯,

請修改分類為:社會民生-求職就業

14樓:匿名使用者

無論那樣 大學學好了 畢業都好找工作

學好的意思是 做過專案 有專案經驗

是隻是學過 還是能做專案 從你的**上一眼就能看出來

求大牛指點,小弟目前從事微控制器,想自學c++程式設計,請問該學習些什麼?

15樓:

物件導向程式設計的概念和方法

16樓:匿名使用者

建議去學習c語言,多看看教程的書!

17樓:匿名使用者

ui,資料庫還有介面函式等

18樓:願歲月淨好

語法,演算法………………僅此而已

電子資訊類大一下,如果學有餘力,學c++和微控制器哪個好?

19樓:dear_xd愛吃肉

有餘力的話學學c,特別是基於微控制器的c語言,還有基於arm的c語言之類的。不過這些都要在實踐中學習的。最好買一塊開發板,微控制器的,fpga的,dsp的,arm的開發板,從中間選一塊好好學學。

都學會是不可能的,選一個學精通就好了

微控制器只能用c嗎,c++可以嗎

20樓:匿名使用者

這和程式語言沒有關係,和你微控制器開發平臺有關,如果對應平臺提供c++開發環境,當然就可以了

21樓:匿名使用者

微控制器的首選開發語言是c,但是但是許多微控制器的編譯環境同時支援c/c++的語法,因此也可以在c語言中混合使用c++進行開發。

微控制器C語言程式設計,微控制器C語言程式設計題

按你的程式的結構,不做大的變動,又能理解的方法 四個程式合併成一個,當然就只能有一個主程式了,一個while 1 了,凡是while 1 以上的程式只保留一個就行了。四個程式的while 1 以下的都合併寫在一個while 1 下面,分為四段。有四個按鍵,判斷按鍵被按下的程式會寫吧?那判斷每個按鍵的...

微控制器C語言程式設計,51微控制器C語言程式設計

使用兩個定時器或一個定時器中使用兩個計數都能滿足你的要求。建議使用一個定時器和一個計數器即可,如計數器為i,則if i 測溫定時 0 溫度測量 if i 步進電機定時 0 步進電機控制 注 此時要求兩個控制模組的定時步長是一致,比如都是1ms 設定一個比較小的定時間隔,例如1ms,用靜態變數累加,比...

求助微控制器c語言程式問題,求助 微控制器C語言程式問題

第一個是在主程式中設定的定時計數器中斷相關引數設定,tmod 0x10 設定定時計數器的工作方式為方式1 16為計數器 也就是計數範圍為 0 65536 th1 65536 200 256 tl1 65536 200 256 設定計數器的初值為 200.ea 1 開總中斷,et1 1 開定時計數器1...