32位單片機好學習嗎?

鋰電動力電池保護板


不管是8位的單片機,還是32位的單片機,都是很容易學的。如果之前學過8位單片機,有8位單片機的基礎,那麼學習32位單片機就更加容易了。即使沒有學過8位單片機,直接學習32位單片機也是可以的。在學習單片機時需要掌握好方法。建議如下:

1 儘快入手一塊合適的開發板

單片機是一門需要動手的技術,不像理科類課程只看書就好,而是需要大量的動手練習。學習單片機包括單片機電路圖的設計以及程序的設計,在學習的過程當中需要較多的硬件資源的支持。而最好的方法就是入手一塊單片機開發板。單片機開發板的核心一顆單片機,設計了常用的外設電路,可以方便初學者學習,並且配套了較為豐富的例程和資料,大大提高了學習效率。所以,入手一塊開發板,跟著教程的步驟學習單片機是很有必要的。

2 從基本的GPIO口操作開始

先從最簡單最基本的GPIO口的配置開始學習。單片機有眾多的引腳,引腳和外設電路相連,通過控制單片機引腳的狀態就能實現控制外設電路的目的。32單片機的GPIO口可以配置為輸入或者輸出。比如以灌電流的方式驅動LED時,需要將與LED相連的引腳配置為輸出,並且將該引腳輸出為低電平即可讓LED點亮。與GPIO相關的外設電路有:流水燈、控制蜂鳴器發聲、控制繼電器動作、按鍵輸入檢測、驅動數碼管電路等。先從這些最基本的例程開始學習。

3 熟悉單片機的片上資源

單片機有很多片上資源,數量操作各片上資源可以實現很多複雜的功能。單片機常用的片上資源有:定時器、中斷、AD轉換、PWM、UART、看門狗等。比如,單片機通過NTC熱敏電阻採集環境溫度時就會用到AD轉換,將模擬量轉化為數字量,就可以實現溫度的採集,這在傳感器行業非常常用。比如,用到RS485接口的通訊,就需要用到UART功能和RS485電平轉換芯片連接。學習板的例程裡都有各種資源的例程。對著單片機的數據手冊好好研究片上資源是非常重要的。

4 多動手、勤參與項目

學習單片機的目的是為了能用單片機實現用戶的需求、設計出符合要求的產品。所以,一定要多動手,如果有項目可以練手的話一定要積極的參與進來。要學習需求的提煉、技術方案的設計、芯片選型以及硬件原理和程序的設計。也許一兩個項目下來,就能理解項目開發的流程。所以,參與項目是十分重要的。

不同型號、不同廠家的單片機都是相通的,學習方法都是一樣的。如果確定要學習單片機,就要選定一個具體的型號去學習,開始學習起來了就感覺不到難了,反倒是一直在想不動手會把自己嚇得很難。

以上就是這個問題的回答,感謝留言、評論、轉發。更多電子設計、硬件設計、單片機等內容請關注本頭條號:玩轉嵌入式。感謝大家。

玩轉嵌入式


身為一個電子工程師來說,我使用32位的單片機(主要是STM32)已經有10年的時間了。不要糾結是8位單片機還是32位單片,位數對開發工程師無關痛癢,那一層的難題已經被編譯器給處理了。學習的時候也走了很多彎路,現在我就說下我的想法。

初次學習的時候什麼也不懂,遇上個問題就能卡半天,都是硬著頭皮頂過來的。想當年建立個stm32的工程就花了差不多一週的時間,但是建51的工程就是分分鐘的事啊,所以感覺起來stm32比51難不少。後來想想完全沒有必須要學怎麼建工程,做了不少無用功啊。因為這十年走來我再也沒有建過工程,每次都是使用建好的工程模板。所以我認為初學的時候也就沒必要學建工程了。可以直接拿個閃爍燈的工程進行修改操作。學習的時候也不用太扣字眼,比如說IO口的高低電平操作,只要會用了就行。程序界有句名言叫"不要反覆造輪子",意思就是說別人造好的輪子可以直接拿來用,不要自己做重複的工作。等對芯片瞭解差不多,再深入的時候可以再去研究輪子是怎麼造的。

學習的時候千萬不要從頭到尾的學,因為現在單片功能太多。學是學不完的,而且技術這東西你要是不用的話時間稍微一長久會忘掉。我覺得工作這10年,用到的功能連30%都不到。無非就是IO、UART、Timer、ADC、DMA等模塊,其它通信IIC,SPI等全部用IO口模擬。而且很多驅動程序當時只是瀏覽了一遍,瞭解了一下大體功能,感覺有用就複製下來了等用的時候直接複製粘貼。有些別人提供好的驅動程序、例程等都可以直接拿來使用。能不自己敲代碼就不要自己敲,要學會利用別人的程序。

學單片機就是學應用,能讓他跑起來就OK,其它的不要糾結太多。把簡單的學會了就有成就感,就越學越有勁,形成良性循環,成功就在眼前。


琪浩電子攻城獅


32單片機很好學習。

我們研發的電子產品使用的就是32位單片機。

下面簡單說一下32位單片機如何學習。

8位單片機

在學習32位單片機之前,建議你從8位單片機開始學。

通過寄存器的操作方式必須實現以下四種通訊。

  • 串口
  • I2C
  • SPI
  • 紅外遙控

如果你掌握了以上四種通訊,那麼對於你學習32位單片機也就遊刃有餘了。

因為學習單片機的路上比較難的也就通訊這點玩意兒,如果你把通訊都能搞懂,我說的是自己用寄存器一個一個去配置的那種,不參考任何東西。

自己上來就能憑自己對這些通訊的理解獨立的完成。

而且不單單要只會一種開發方,現在硬件條件都好了,可能我們實現串口、I2C這些,只需要配置寄存器就夠了,但是這並不能加深你對這些通訊的理解,如果可能、最好是自己再通過模擬IO口的方式把上述通訊模擬一遍。

等你自己能模擬出來,你的任督二脈才會真正被打通。

然後再去學習32位單片機就很好學習了。

32單片機

32位單片機有兩種開發方式,一種是庫開發方式;另外一種是寄存器開發方式。

寄存器開發方式我勸大家就不要去學習了,是因為32位單片機一次性要配置很多位,會耗費我們大量的時間。

基於此,官方把這些寄存器用C語言封裝起來,我們想要實現什麼功能,直接調用官方的庫就可以了,如果你熟悉了8位單片機的開發,再轉來學習32位單片機的庫開發方式,就非常容易學習了。

因為大量的配置寄存器的工作都被官方封裝好了,我們直接拿來使用就可以了,而且對於各種模塊的功能和通訊,官方都有實例,我們也可以直接拿來用,只需要改幾個參數,就可以實現我們的功能。

甚至有的實現起來比8位單片機還要快,因為8位單片機還需要一位一位的去配置寄存器,而32位單片機不需要。

這就是為什麼32位單片機好學習的原因。

函數庫

最後,沒事多看看32單片機的函數庫。

沒有的可以私信我,我會第一時間發給你。


愛上半導體


個人建議:如果你重來沒有學過單片機的知識,也沒有了解過,那麼我覺得你應該從8位單片機開始學起,比較8位比較32位的要簡單許多,並能通過8位單片機的學歷來理解單片機的工作原理以及內部構造,雖然32位跟8位的有很多類似的地方,但是是存在明顯的差別;所以先把理論基礎弄紮實了,再學32位單片會容易很多,不然剛開始學就會遇到很多問題困難;當然如果你學習愛過8位得到單片機,那麼現在學習32位單片會容易許多;

目前8位單片機在一般的電子產品中用的比較廣泛,比較便宜嘛,夠能也夠用;常見的品牌有51系列:以intel MCS51為核心,很多公司都買了它的核心,生產自己的51單片機,主要有ATMEL公司(AT89S52等等),STC,ST都有生產。AVR系列:以ATMEL公司的ATmega16為代表。3、PIC系列:以MICROCHIP公司的PIC16F877為代表。還有臺灣品牌:合泰,松翰等,國內也有很多品牌比如當前比較流行的GD系列等;8為單片機內部結構相對簡單些,主要包含:存儲器,串行口,並行口,定時器/計數器,中斷等;

32單片機就相對複雜些;在電子產品中應用也比較廣泛,功能稍微複雜些的控制系統大部分都在用;目前比較流行的品牌有,STM32系列,ARM系列,PIC32系列,AVR32系列,當然國內有GD32系列比其他國外品牌要便宜些;32位單片機內部集成的功能就比較多了,有IO口,定時器,ADC,DAC,串口,I2C,DMA等一系列的外設結構,基本上涵蓋大部分常用的外設,用起來很方便功能很強大;

所以,建議你有基礎就可以直接學32單片機,沒基礎就從8位的開始,熟悉了再轉到32位單片機上,網上賣的各類開發板都有,都會配套許多教程及實例,學起來相對容易些,希望你能早日行動起來,開始學習。


DZ科技


我是一個從事嵌入式軟件開發的從業者,

我來回答一下我的個人看法:

1、我們知道單片機,也叫MCU,一般有8位,16位、32位;

2、在不同功能需求和成本要求根據具體情況來選擇適合的單片機;

3、至於32位單片機好不好學習,這個不是一句話能說的清楚的,這個跟每個人的實際情況相關,比如你的專業背景,你的C語言水平,你的電子電路知識都息息相關;

4、目前在世面上用的最廣範的32位單片機應該是ST的,也有比如NXP,瑞薩,富士通等

其實我們使用單片機主要是控制外圍設備,單獨一個單片機沒有任何意義,所以學習單片機本身不是很難,我們大部分時間是在和外圍的功能IC做交互,大部分單片機本身的操作,原廠會做好SDK給你,不用太擔心使用的問題;

5、說到單片機就得說到軟件,目前主流的語言就是C語言,當然目前也有使用python的,但從效率而已,目前高級語言中,C語言效率最高了!所以要學好單片機,就必須有紮實的C語言基礎!不然看例程都費勁,就別說學習了!

6、學習32位單片機,可以找個普遍的單片機進行入手學習,比如ST的,網上教程多,資料多,使用廣泛,是個不錯的入門選擇!

以上是我個人的一些看法,謝謝!


物聯網耕田師


無論是學習8位單片機還是32位單片機,正確的學習方式和心態都很重要。關於你提的問題,我有幾條建議:

1、學習單片機沒想象的那麼難,不要給自己太大的心理壓力。如果覺得32位單片機入門難度比較大話,可以從8位的51單片機入手。把8位單片機的IO操作、定時器、中斷、串口等功能理解清楚之後,再學習32位單片機就相對容易很多了。

2、雖然入門不難,想學精通也並不容易。學習單片機之前,最好能有一定的電路基礎,能對常見元器件有基本的認識,能看懂簡單的電路圖。數電模電的基礎知識對理解一些單片機的相關概念很有幫助。

3、學習單片機要理論與實踐結合。初期可以買一套開發板,按照教程來理解示例程序的內容和編程風格,同時可以根據自己的想法修改程序,做一些有趣的小作品來獲得成就感激勵自己堅持下去。總之,學單片機不是為了做題,一定要多思考,多敲鍵盤。

4、學習單片機不是個一蹴而就的過程,不少人把《從入門到精通》學成了《從入門到放棄》。學習過程中難免遇到困難,不要輕言放棄,一步一個腳印地堅持下去才能有大的收穫。


Eant實驗室


建議先看看單片機的彙編語言,瞭解單片機的一些指令、中斷等,能夠寫出簡單的彙編程序(如果你實在是不喜歡彙編,個人覺得你最起碼要看懂別人寫的最簡單的帶定時器的流水燈程序,不用記指令,照著指令表看的那種)後再學C語言。當然如果要用32位單片機的話,最好在c語言基礎上,再學c++,不過這是後話了,先入門再說。有什麼不懂的大家可以互相交流。


強仔短視頻


並不難學,關鍵在於c語言基礎,基礎打得牢後面只是Stm32的應用問題了,重要的是編程思維


電子技術細節


不難學,主要是把理論知識掌握好,專業書啃熟。把平時實驗容易出錯的地方記錄下來。


分享到:


相關文章: