<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何學習STM32?STM32入門學習經驗總結

GReq_mcu168 ? 來源:未知 ? 作者:易水寒 ? 2018-10-03 19:45 ? 次閱讀

一、入門總結

1.1為什么要把時間花在“猶豫”上?

每當我們在入門之前(ARM是這樣,DSP也一樣),總會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮澎湃地、相當著急地開始學STM32?日子在一天一天過去!你開始行動了嗎?沒有行動的思索,永遠都不可能入門!把這些時間用來看書吧,效果能好一萬倍。

大家可能是從51單片機過來的,回想一下,我們之前學單片機時如何入門呢?實際上都是先看書(理論),再玩板子(實踐)。嚴格地說,應該是模仿實驗。熟悉之后才會自己寫程序代碼實現某個功能。因此,如果你正在咨詢STM32;如果你正對STM32心潮澎湃;如果你想入門STM32;那么,從現在開始,不要猶豫了,不要想再詳細地了解STM32的前景了。做一個可能影響你一生的決定吧!不用咨詢,不用興奮,開始看書籍(文檔)吧??!每個人都是這么走過來的。

1.2看資料需要計劃、耐心和速度

這里所謂的“資料”包括STM32書籍、文檔。因為STM32有個特點,datasheet很多都是中文的,有些同學就沒有去買書籍,直接看STM32的用戶手冊,也是可以的。但是不管看書籍還是文檔,我們是需要計劃的。不是今天看3頁,明天看5頁。一本書看了兩個月,還在磨蹭。請記住,你學的不是寂寞,是STM32!

看書或文檔不是用來消遣時間的。背水一戰吧,給自己規定一個底線:兩周內把一定粗略地過一遍!不要求都看懂,事實上,不可能都看懂。但我們必須理解基本知識,對難度高的知識有一個印象,至少以后碰到問題的時候,我們會似曾相識,感覺在哪里見到過,于是翻資料上網找答案——帶著問題的時候,效率才是超高的。

兩周過去了,STM32的知識你過一遍了嗎?沒看完?那么,你應該考慮這些天中,你是否盡力了?是否真的想學STM32?或者還是看到STM32人氣很高,也想跟下時髦?是不是碰到問題沒法解決就想放棄了?現在是你做第二個決定的時候了,請決定你是否繼續攻讀STM32。如果是一時沖動想跟時髦,請馬上放棄——你已經浪費兩周時間了,你還想再浪費14天嗎?如果想吃得苦中苦,方為人上人,OK,請繼續往下看:)

1.3學STM32必備開發板

稍微了解一些理論知識后,現在擺在你面前,有兩條路:

第一,自己畫PCB制板、焊接、調試。

第二,購買一套性價比高的開發板。

筆者之前做過幾次PCB設計,而且當時在實驗室可以報銷所有費用,就自己做了一個PCB板。建議有報銷條件的同學自己設計一塊板子學習。畢竟2層PCB的設計不是很難。無法報銷的同學,可以選購一款開發板來學。

總之一句話,選購的開發板一定要性價比最高的,最實惠的,而不是最貴的。實際上,大多數同學選購的開發板是用來學習的,不是用來項目開發的。因此,能讓你上手STM32,目的已經達到了。

1.4熟悉開發板并試圖寫程序

這時的你,不能再停留在理論上了。你現在的心情,應當是:看到開發板,馬上就有一種說不出的興奮!但是,心急吃不了熱豆腐!請耐心把廠家配套的開發板使用手冊瀏覽一遍,熟悉你買的開發板。按照使用手冊,把開發板上的相關測試、操作步驟,都動手做一遍,你會發現,原來開發STM32是如此簡單!那么就讓我們開始STM32的開發之路吧!

如何進行真正入門STM32,請看下面《STM32入門方法談》。

二、STM32入門方法談

2.1拿到開發板我該做什么?

國內用戶有一個普遍現象:用戶拿到開發板后,不知道如何下手。由于沒有自己的思路,又是初學者,也沒有好的突破口,因此,買來開發板后,開機,看看觸摸屏,感嘆“好漂亮”的屏幕顯示,然后就迷茫了。開發板是不會告訴你如何使用它的。開發板的光盤?光盤里放置一大堆資料——我該先看哪個?后看哪個?總之,我如何開始STM32的入門學習??

從拿到開發板后需要了解如何安裝J-Link、MDK(keil)調試軟件,一直到STM32上的UCOS移植,配合專門的教程,會在學習STM32的過程中少走許多彎路,提高學習效率了。

2.2我的時間如何安排?

筆者做任何事情前,習慣寫一個計劃——可能是在公司的時候,每天、每周、每月必寫計劃和總結養成的“毛病”,呵呵。正如在上一節中提及:我們要用一個月內上手STM32!我們開始考慮,如何更好地利用好這一個月的時間呢?

我想起了第一天公司入職的情景。我的工作導師讓我先領一臺PC,安裝必要的軟件,然后告訴我近一個月的任務是什么。當時我很不屑,因為剛參加了公司組織的培訓,以為自己啥都會,但是失敗了。原因:盲目進行項目,沒有一個計劃。

沒有計劃的日子會很慘。就像每天早上醒來睜開眼睛,卻不知道自己今天要干啥。閑話不說,我們談一談計劃和時間安排。

筆者認為,學習STM32,實際上也是進行項目的過程。進行項目,就必須有項目進度文檔,至少需要預計項目的耗時。雖然沒有那么規范,但建議大家至少要給自己一個時間表:告訴自己從2012年x月y日至2012年m月n日,必須能夠進行獨立的項目開發。比如定為30天,把這個時間分三個階段:

第一階段:找感覺——談及STM32,立即反應到調試的方法如何。

第二階段:修改例程——按自己的意愿修改例程,讓自己有點成就感。

第三階段:主動攻擊——給自己找一個小項目,把它實現出來。

每個階段有一個目標后,再細化該目標到每天,寫出每天要完成的任務。注意,每天的任務不可太多,否則時間太緊,完成不了當天的任務,反而會進入惡性循環,導致第二天、第三天,以后的任務也將無法完成。最終導致整個計劃的失敗。

每天的任務需要根據自己的具體情況來定。如果有充足的時間,可以安排多一些任務。如果每天只有2個小時,切記,寧可少安排任務,也不可追求加快項目進度。當然,心中有事情后,每天自然就會忙碌起來!你的學習生活會更加充實!

2.3碰到問題怎么辦?

學習難免會遇到問題。在公司參加培訓的時候,學員被告知:困難即機會。

所以希望大家坦然面對問題,不能逃避。一小部分同學在遇到問題的時候,總是想:能否避開走另一條路?比如調試程序,某一個程序的語法不太懂,就想用另一種表示方法來代替,或者直接注釋掉?!@是很可怕的。因為你現在一旦放過一個問題,可能意味著你一輩子可能都沒有機會去碰這個問題。那么你的技術無法進入最高境界。我們是為學習而來,說難聽點,我們現在的付出,是想以后能有更好的回報的。

此外,碰到問題,不能馬上就到處求助。

原因:

1、這個問題可能是你的疑問,但它還不具體,你無法用最好的語言讓別人接受、理解,并且回答它。很多網友看到模凌兩可的問題,是不會回答的。比如Linux如何移植?這個問題,如果詳細說,需要用半本書來解釋——沒有人愿意花兩三個小時告訴你如何移植。所以這時候,你要做的,是先去查資料,自己試圖解決它。當碰到某一個具體的步驟,實在想不通的時候,比如Linux移植過程中,文件掛載打印卡住了。這個現象,可能對有經驗的人來說,一句話就能點破。而你因為有先前研究的基礎,一聽即可知道哪里出問題。這樣的方式,學習效率是最高的。

2、CPU是相通的,相信大部分的同學都學習過單片機,是有一定基礎的。如果你碰到問題,去嘗試了,自己把問題解決了,你會很有成就感??!因為這是你獨立思考的結果??!當然,你應該寫一個總結文檔,收藏在PC中備忘。也可以把總結文檔發帖到論壇上,這樣的原創文檔,跟帖率是最高的。慢慢地,你在這個領域,有了網絡知名度?!@絕對是一筆財富。

當然,筆者在此并不是不讓大家使用別的方式討論問題。相反,我提倡大家踴躍發言討論。剛才是就事論事,也是筆者自己的一點小經歷。經歷了,才發現如何做才更有效率。

三、STM32學習步驟

在第二章,我們已經談及到學習需要計劃。那么,在這章節,我們就來詳細地闡述這個計劃——僅供參考。

3.1關于STM32文檔學習

本期教程,我們假定大家已經對STM32的書籍或者文檔有一定的理解。如不理解,請立即閱讀STM32的文檔,以獲取最基本的知識點。

STM32的學習與ARM9的學習有一個很大的區別。ARM9的學習一般是需要購買書籍的。比如三星的S3C2440,官方的文檔都是英文的,大部分工程師只能去看國內出版的書籍。英文好的同學,請不要以為你很牛,可以只看英文文檔。畢竟你是中國人,你最熟悉的,理解最好的還是中文??从⑽牡乃俣冗€是比看中文慢一些,我們要的是最短的時間,而不是追求短時間內記住所有細節。當然,如果是一篇論文,建議看英文原版還是有好處的。

STM32處理器進入國內市場時候,ST官方(或者第三方)的推廣工作做的非常好。翻譯了大量的英文文檔,迎合了國內的很多工程師的思維。所以現在大部分STM32F103xxx的用戶datasheet都有中文版。因此可以不用去購買書籍,看電子檔即可。當然,有雄厚經濟條件的朋友可以購買本書籍哈~

學習的時候,關注兩個比較重要的文檔:《STM32F103xxx參考手冊》,《STM32固件庫使用手冊》。ST官方的所有中英文文檔,在ST的中國大陸區網站可以下載到:http://www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm

該網址,是針對有充足的時間、精力的同學,建議去下載需要查閱的文檔,以獲取更多信息。閱讀《STM32F103xxx參考手冊》,一定要注意,不需要全部閱讀——沒有時間的。建議選讀,但是前幾章必讀。存儲器和總線架構、電源控制、備份寄存器、復位和時鐘控制,通用和復用功能I/O,中斷和時間等等部分一定要花時間閱讀。后面章節,講述的是具體的功能模塊設計。如果我們用到哪個模塊,就可以去閱讀哪個模塊。比如在使用AD的時候,就需要去閱讀第10章ADC。其他不舉例。相信每個初學者都有自己的研究方向和判斷。

閱讀《STM32固件庫使用手冊》,主要是為了簡化編程。STM32給我們提供了一個非常好的固件函數庫,我們只要去調用即可。當然,我們也可以不去碰這些固件庫——傳說使用它會使得代碼效率變低,是有道理的。網絡上也出現了很多網友自己寫的代碼,沒有使用帶固件庫函數。如何取舍,在于您的選擇。這里我主要強調的是,閱讀《STM32固件庫使用手冊》的時候,前面幾章也是必須閱讀的。比如第一章文檔和庫規范中的命名規則,編碼規則,這些都是需要注意的。第二章是最關鍵的,希望大家熟讀。第二章描述了固件庫的架構,我們如何去使用固件庫的步驟等。有了第二章的基礎,我們就可以借助固件庫寫出自己的代碼了。第四章開始之后,就可以根據大家的需要來閱讀。實際上,后續的章節,都是描述某個模塊有什么什么函數,每個函數如何使用等。

關于后面的章節,建議對GPIO庫函數、中斷部分庫函數、復位和時鐘設置的庫函數要比較熟悉,因為平時經常會用到。

以上提到的這兩個文檔,已經足夠您看的了,呵呵。希望您能從中獲取大量的STM32基礎知識。

3.2 30天上手STM32計劃

(1)這里所謂的“上手”,指的是能理解并掌握一些常用的STM32外設,真正想掌握一款處理器,30天根本說明不了什么問題。只能說,你已經入門了。但是,這對我們初學者來說已經足夠了。

(2)這里所謂的“30天”,根據每個人的時間安排不同而不同。

如果您每天有充足的時間學習,那么可以規定自己盡快地能獨立地進行簡單的STM32開發。如果您每天只有業余時間來學習STM32,建議根據您的具體情況安排時間。畢竟計劃時間如果安排太緊,反而收不到良好的效果,只能進入惡性循環,這是我們要避免的。

但是建議,不管您有無充足的時間,都必須給自己做一個計劃!

我這里列出一個思路,僅供參考:

步驟一,安裝完STM32學習的軟件,比如J-Link、KeilforARM(MDK)、ISP(如果需要從串口下載的話)。這些軟件安裝的詳細步驟,可以參考我們推出的相應教程進行。

步驟二,挑選部分例程的HEX,比如LED燈的例程HEX文件,下載到STM32開發板中,觀察LED燈的閃爍情況。這部分的操作,可以參考我們推出的相應的教程進行。

實際上,以上兩個步驟,是為了熟悉要使用的工具軟件而已。屬于找感覺的階段。其實我們還沒開始STM32的學習呢!

步驟三,準備幾個常用的文檔,比如《STM32的用戶手冊》,《STM32固件庫使用手冊》等文檔。用于平時查閱。這些文檔,在光盤中的芯片手冊目錄中均可找到。

步驟四,開始查看例程的編寫,看看例程是如何寫的,自己可否修改下例程,達到自己想要的效果呢?芯達STM32開發板的光盤中為大家提供了豐富的例程代碼,可以參考。您一定可以修改出更精彩的例程!

步驟五,Ucos-II的移植,是否需要試一下?

恭喜你,至此,你已經可以自如進行獨立的開發了。最后一步,給自己一個目標(項目),把它實現出來!

再次強調,以上只是一個學習STM32的思路,供大家參考。下面列出了前面關鍵的步驟,希望大家能盡快入門。后續的每個模塊的編程,請參考我們的芯達STM32入門系列教程。

3.2.1第1步:熟悉調試軟件

對初學者來說,我們至少需要安裝兩個軟件:J-Link驅動軟件、MDK(就是原來的Keil)軟件。這兩個軟件,用《鄉村愛情》里的一句話“必須的!”

如何驗證自己已經熟悉調試軟件的操作了呢?很簡單, STM32開發板光盤里附帶了很多HEX格式的文件,可以選擇一些HEX文件,來觀察運行結果。

比如LED燈的例程HEX文件,下載到芯達STM32開發板中,觀察LED燈的閃爍情況。燈在閃爍,就說明你剛才的操作已經把HEX文件燒寫到閃存中了。

該步驟要達到的目標:熟悉調試軟件,如燒寫HEX出現問題,可簡單判別問題所在,并獨立解決。

3.2.2第2步:GPIO編程

這是第一次接觸固件庫的編程,一定要硬著頭皮去了解固件庫。建議大家盡量去用固件庫。而不是避開固件庫自己寫代碼——這樣只能在學習中才會發生。實際的項目中,代碼成百上千個,如何一個一個自己寫?調用固件庫中的函數來完成,才是王者之道。

GPIO本身的編程實際上很簡單:

1、設置GPIO口的引腳為輸入或者輸出模式。我們在進行點燈代碼的時候,一般設置為推挽輸出模式。

2、操作寄存器,往寄存器里置1或者清零操作——這個步驟,固件庫已經提供了專門的GPIO_SetBits函數和GPIO_ResetBits函數,我們只要去調用即可實現對IO口的置1和清零。

3、實現多種花樣的LED閃動,使得自己熟悉GPIO的編程過程。但是在調用固件庫的時候,我們還需要有GPIO結構聲明,結構成員初始化,系統時鐘配置等等注意事項。該步驟要達到的目標:熟悉調試軟件,如燒寫HEX出現問題,可簡單判別問題所在,并獨立解決。

3.2.3開始全新的STM32深入研究

經過以上調試軟件的熟悉和GPIO口的編程調試后,相信您已經對STM32有一定的了解。至少知道如何利用STM32的固件庫去寫一個代碼。OK,下面我們將開始全新的STM32深入研究。在這個階段,將要接觸到串口編程、TFT液晶屏驅動編程、定時器編程、串行外設接口SPI編程、存儲器編程、SD卡與文件系統移植、USB讀寫、UCOS移植等,有精力還可以研究其他外設。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10523

    瀏覽量

    207446
  • STM32
    +關注

    關注

    2247

    文章

    10691

    瀏覽量

    349897
  • GPIO
    +關注

    關注

    16

    文章

    1150

    瀏覽量

    50781

原文標題:想轉學STM32?這里有你需要的高手總結和學習步驟

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32入門學習經驗總結

    STM32入門學習經驗總結STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARMCortex-M3內核。按性能分成兩個
    發表于 07-25 11:24

    STM32入門學習經驗總結

    ”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮
    發表于 08-19 16:01

    stm32入門經驗總結

    ”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮
    發表于 09-02 16:47

    STM32入門學習經驗總結

    1、為什么要把時間花在“猶豫”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適
    發表于 09-14 17:50

    STM32入門學習經驗總結

    ”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮
    發表于 11-18 15:53

    STM32入門學習經驗總結

    ”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮
    發表于 04-06 10:01

    STM32入門學習經驗總結

    ”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮
    發表于 07-03 14:05

    如何學習STM32?

    STM32入門學習經驗總結
    發表于 03-03 06:51

    STM32入門學習經驗總結

    ”上?經驗總結:每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮
    發表于 06-01 08:29

    STM32入門方法簡談

    如何學習STM32?STM32入門學習經驗總結
    發表于 12-15 07:28

    SOPC Builder/Nios 學習經驗總結

    SOPC Builder/Nios 學習經驗總結
    發表于 07-22 15:32 ?0次下載
    SOPC Builder/Nios <b class='flag-5'>學習</b><b class='flag-5'>經驗總結</b>

    STM32學習教程_[STM32經驗]

    [STM32經驗] STM32學習教程希望對你有幫助
    發表于 11-02 17:28 ?267次下載

    【轉載】如何學習STM32?STM32入門學習經驗總結

    一、入門總結1.1為什么要把時間花在“猶豫”上?每當我們在入門之前(ARM是這樣,DSP也一樣),總會有很多疑問,會有很多顧慮。我們渴望知道學習ST
    發表于 11-22 11:06 ?61次下載
    【轉載】如何<b class='flag-5'>學習</b><b class='flag-5'>STM32</b>?<b class='flag-5'>STM32</b><b class='flag-5'>入門</b><b class='flag-5'>學習</b><b class='flag-5'>經驗總結</b>

    STM32 | 學習STM32的一些經驗分享

    前言 前兩天在群里看到群友們在討論學習STM32的話題,并且今天也有一位機械專業的準研究生讀者也問了STM32入門問題。正好我也有一點點經驗
    發表于 11-22 11:21 ?42次下載
    <b class='flag-5'>STM32</b> | <b class='flag-5'>學習</b><b class='flag-5'>STM32</b>的一些<b class='flag-5'>經驗</b>分享

    快速入門STM32學習經驗總結

    一、前言 假如你會使用8051,會寫C語言,那么STM32本身并不需要刻意地學習。 我們要考慮的是, 我可以快速用STM32實現什么?為什么使用STM32而不是8051? 是因為51的
    的頭像 發表于 02-05 01:27 ?795次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>