-
1 # 嵌入式筆記v
-
2 # 程式猿劍劍
這個問題我可以非常合適的來回答。因為我現在依然在從事微控制器程式設計工作。我的大學微控制器課程考試,我的成績是全班第一。我們專業是大三才開設的微型計算機程式設計,但是我大一就買了一個51微控制器的學習開板。
首先微控制器開發會用到彙編,C語言,但是誰在學習彙編呢?C語言當然是首選。而且微控制器教程影片,原始碼都是C語言釋出的。別人發一個彙編給你,我相信99%的人是懶得看那麼枯燥的程式碼的。
微控制器學習使用的是C語言,那麼C語言卻不是需要單獨學習的。因為你跟著微控制器教程學習點亮一個LED,跑馬燈開始,你就已經在學習C語言了。
常用到的就是變數,宣告,函式,for迴圈,while迴圈,if else判斷。
也就是在學習微控制器的過程之中你就已經掌握了C語言的大部分知識,其他的少部分知識是用的很少的,或者不需要用的。
奇怪是大三的課程老師交的是彙編,到那時候我才發現,學會了C語言編寫微控制器之後,彙編也不復雜,因為程式設計的邏輯都是一模一樣的。彙編比較繁多而已,需要自己操作暫存器和記憶體變數。
所以,學微控制器直接可以買學習開發板跟著教程來就行了,語言在自然中你就掌握了。當然提前瞭解C語言的基礎知識點更好。提前熟悉了C語言的風格,格式,以及是怎麼寫的,有哪些概念,學微控制器也會直接上手。
不同的微控制器原理都差不多,幾乎都是用C語言寫的,會了一種,學習另外一隻也是比較順利的。你可以先學51再學stm32,51是最精巧簡單的單片計算機,學習了他就瞭解計算機是一個什麼原理了
-
3 # 電子及工控技術
作為一個微控制器愛好者,由於教學工作需要我現在仍然在學習接觸微控制器。現在我來回答這個問題,微控制器作為可程式設計控制晶片需要軟體支撐才能進行控制,進行軟體程式設計所用的程式語言也不侷限於C語言一種,我還清楚的記得我最初學習微控制器技術所使用的程式語言是組合語言,因為我最早接觸微控制器是在大一的時候,那時學的有一門專業課叫計算機原理,裡面所用的是計算機組合語言,從那時起我第一次接觸微控制器,然後買了微控制器模擬板,真正意義上開始學習了微控制器。到了大二又學習譚浩強編寫的C語言程式設計,才接觸到C語言。在學習過程中我驚喜發現發現用C語言編寫微控制器程式比用匯編語言簡潔許多, 移植性也很好。而組合語言比較枯澀難懂,特別是編寫複雜一點的程式,其完成的週期遠遠比C語言所用時間長!從此以後我一般都用C語言編寫微控制器程式。
從我的學習微控制器經歷中可以看出,學習微控制器不需要一定先學習C語言,用匯編語言程式設計雖然比C語言程式設計麻煩,但先學組合語言對你學微控制器內部結構和各個暫存器的配置理解的更深刻。由此可知微控制器學習與C語言之間沒有必然的聯絡。隨著現在單片機發展,湧現出了很多新型號微控制器,例如PIC微控制器用的是精簡指令、AVR微控制器、Arduino、樹莓派等,為我們學習微控制器技術提供了更多的選擇空間。
學完C語言之後我才明白,不學組合語言直接學習C語言也可以學習微控制器,當你學習了一些基本的C語言賦值語句和基本語句後(例如switch、for、if、else)就完全可以學習微控制器了!並不需要到達一定程度後才能學習。況且微控制器C語言所涉及的並不難,對於指標、陣列等比較有些“難度”的知識點,當用到時在學也不遲。先上來就學習如何用微控制器控制發光二極體閃亮、8個LED流水燈單迴圈,反覆迴圈、按鍵控制,數碼管、蜂鳴器、液晶LCD1602顯示等常用微控制器外設,這些C語言知識基本夠用。如果再深入學習,可以邊學邊練習程式設計,我認為效果會更好!
-
4 # 嵌入式小蕭
可以這樣說,把學習微控制器比喻成一款遊戲。C語言就是這款遊戲的遊戲規則,你只需要瞭解主要的規則就可以,剩下的就是不斷的闖關,打怪積累經驗。遇到大boss打不過怎麼辦,那就上網找攻略,看看別人是怎麼透過關的。當你通關的時候,C語言會了,微控制器也會了。
回覆列表
基本語法和基本關鍵字掌握就可以學習,後續學習中遇到不會的,再找資料學習,C語言是一種深度語言,沒有特定的界限學到哪種程度,都滿足自己的工作需求也行,如有時間可以再深入學習編譯器原理等