C語言學到什麼程度才能學單片機?

lin曼蕾


作為一個單片機愛好者,由於教學工作需要我現在仍然在學習接觸單片機。現在我來回答這個問題,單片機作為可編程控制芯片需要軟件支撐才能進行控制,進行軟件編程所用的編程語言也不侷限於C語言一種,我還清楚的記得我最初學習單片機技術所使用的編程語言是彙編語言,因為我最早接觸單片機是在大一的時候,那時學的有一門專業課叫計算機原理,裡面所用的是計算機彙編語言,從那時起我第一次接觸單片機,然後買了單片機仿真板,真正意義上開始學習了單片機。到了大二又學習譚浩強編寫的C語言程序設計,才接觸到C語言。在學習過程中我驚喜發現發現用C語言編寫單片機程序比用匯編語言簡潔許多, 移植性也很好。而彙編語言比較枯澀難懂,特別是編寫複雜一點的程序,其完成的週期遠遠比C語言所用時間長!從此以後我一般都用C語言編寫單片機程序。

從我的學習單片機經歷中可以看出,學習單片機不需要一定先學習C語言,用匯編語言編程雖然比C語言編程麻煩,但先學彙編語言對你學單片機內部結構和各個寄存器的配置理解的更深刻。由此可知單片機學習與C語言之間沒有必然的聯繫。隨著現在單片機發展,湧現出了很多新型號單片機,例如PIC單片機用的是精簡指令、AVR單片機、Arduino、樹莓派等,為我們學習單片機技術提供了更多的選擇空間。


學完C語言之後我才明白,不學彙編語言直接學習C語言也可以學習單片機,當你學習了一些基本的C語言賦值語句和基本語句後(例如switch、for、if、else)就完全可以學習單片機了!並不需要到達一定程度後才能學習。況且單片機C語言所涉及的並不難,對於指針、數組等比較有些“難度”的知識點,當用到時在學也不遲。先上來就學習如何用單片機控制發光二極管閃亮、8個LED流水燈單循環,反覆循環、按鍵控制,數碼管、蜂鳴器、液晶LCD1602顯示等常用單片機外設,這些C語言知識基本夠用。如果再深入學習,可以邊學邊練習編程,我認為效果會更好!

以上是我對學習單片機的看法!希望對學習單片機的朋友有借鑑作用,如果認為我說的你能有收穫,請幫忙點個贊!


電子及工控技術


這個問題我可以非常合適的來回答。因為我現在依然在從事單片機編程工作。我的大學單片機課程考試,我的成績是全班第一。我們專業是大三才開設的微型計算機編程,但是我大一就買了一個51單片機的學習開板。

首先單片機開發會用到彙編,C語言,但是誰在學習彙編呢?C語言當然是首選。而且單片機教程視頻,源碼都是C語言發佈的。別人發一個彙編給你,我相信99%的人是懶得看那麼枯燥的代碼的。

單片機學習使用的是C語言,那麼C語言卻不是需要單獨學習的。因為你跟著單片機教程學習點亮一個LED,跑馬燈開始,你就已經在學習C語言了。

常用到的就是變量,聲明,函數,for循環,while循環,if else判斷。

也就是在學習單片機的過程之中你就已經掌握了C語言的大部分知識,其他的少部分知識是用的很少的,或者不需要用的。


奇怪是大三的課程老師交的是彙編,到那時候我才發現,學會了C語言編寫單片機之後,彙編也不復雜,因為編程的邏輯都是一模一樣的。彙編比較繁多而已,需要自己操作寄存器和內存變量。

所以,學單片機直接可以買學習開發板跟著教程來就行了,語言在自然中你就掌握了。當然提前瞭解C語言的基礎知識點更好。提前熟悉了C語言的風格,格式,以及是怎麼寫的,有哪些概念,學單片機也會直接上手。

不同的單片機原理都差不多,幾乎都是用C語言寫的,會了一種,學習另外一隻也是比較順利的。你可以先學51再學stm32,51是最精巧簡單的單片計算機,學習了他就瞭解計算機是一個什麼原理了


程序猿劍劍


針對項目去學習C語言會比較容易,單片機開發很多時候都是在調試代碼,會C固然是基本要求,但是調試以及找存在的bug才是最重要的。單片機的控制基於輸入,輸出。就是輸入進行一堆邏輯控制,然後輸出,所以C語言的控制語句,以及三個執行結構。


C語言與汽車電子


流程控制語句會就差不多,剩下的可以需要理解


金一風雷


C語言入門就可以學單片機,也可以兩個一起學。

比如存儲器、寄存器、變量、賦值,這些概念聯繫到一起更容易理解。但是,學到外設編程時,如果C語言還沒掌握,就會感到困難了。

C語言就是一個工具,單片機也是一個工具,這兩個工具結合起來就可以做一些自己想做的東西了。語言像樂譜,單片機像一架琴,兩個都掌握了就可以演奏了,甚至自己編個小曲子。


ScholarMartin


可以直接學上走。


二進制49


吃透c基本語句和運算,就可以去了解單片機了


日常實錄


做單片機麼,學一個禮拜c差不多了


貓大36935067


當你看懂PB_ODR &=0xff;和PB_ODR|=0xf0;是什麼意思時,就行了吧


拖拉機斯基


基本語法和基本關鍵字掌握就可以學習,後續學習中遇到不會的,再找資料學習,C語言是一種深度語言,沒有特定的界限學到哪種程度,都滿足自己的工作需求也行,如有時間可以再深入學習編譯器原理等


分享到:


相關文章: