找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15651|回復(fù): 24
上一主題 下一主題
收起左側(cè)

請問stm32新手,應(yīng)該怎么學(xué),想慢慢的捋清思路

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
有沒有大神可以  梳理一下 stm32 的 一步步技巧啊 作為新手 想慢慢的捋清思路
還有 從 最小系統(tǒng)開始學(xué)習(xí)怎么樣啊
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來自 8#
ID:319344 發(fā)表于 2018-7-23 22:28 | 只看該作者
我就談一下自己的感受吧,首先,需要有一些了解,因?yàn)槟阋I開發(fā)板吶,但是這時(shí)候我個(gè)人覺得最好不要問同學(xué)朋友買什么好哇,哪個(gè)牌子好哇,首先你需要可以讓你快速入門的,一直在接觸在學(xué)但就是沒有一個(gè)清晰的思路(也就是一直都不知道自己學(xué)會了沒有),那是及其郁悶的一件事。所以根據(jù)自己的認(rèn)識知道幾種常見的幾種32開發(fā)板,然后根據(jù)資料是否全面,相應(yīng)的論壇是否能及時(shí)回復(fù)問題等等,買一個(gè)開發(fā)板(無論之后感覺如何都是自己選的,再有什么情緒也應(yīng)該尊重當(dāng)時(shí)自己的選擇),然后先清楚重要概念,然后看學(xué)習(xí)手冊或開發(fā)手冊了解你大致需要做(學(xué))什么,然后就上路吧,知道前面還有多遠(yuǎn),下一個(gè)路牌上會寫著什么,不要迷路,路可能很遠(yuǎn),所以要明確階段性的目的地在哪兒,一山更比一山高,所以,如果自己階段性目的地是半山腰,不要到了半山腰還繼續(xù)爬,至少該知道自己已經(jīng)到達(dá)目的地,山頂是另一個(gè)目標(biāo),不是現(xiàn)在立即就要去到達(dá)的地方。每個(gè)人的經(jīng)歷不一樣,看待問題的角度不一樣,說得再具體也具體不過那些開發(fā)板配套的資料,但你根本沒必要背下來,也沒必要把別人的推薦當(dāng)作自己學(xué)習(xí)的金規(guī)玉律

評分

參與人數(shù) 1黑幣 +80 收起 理由
admin + 80 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

來自 9#
ID:209065 發(fā)表于 2018-7-23 22:45 | 只看該作者
去年的這個(gè)時(shí)候我跟你一樣有這個(gè)疑問,不過那時(shí)我是從庫函數(shù)入門的,但我建議從寄存器開始,因?yàn)閹旌瘮?shù)很多都看不懂,簡單的IO配置還好,到了后面稍微復(fù)雜一點(diǎn)的功能就需要一大堆的庫函數(shù)配置流程,根本看不懂,找資料也是一頭的霧水。寄存器入門有兩個(gè)好處:
1.把寄存器給整明白了就相當(dāng)于理解了芯片內(nèi)部的電路構(gòu)造,后面上手庫函數(shù)是非常簡單的;
2.新手在編寫代碼的時(shí)候完全可以忽視固件庫這種東西,因?yàn)檫@玩意兒在創(chuàng)建工程的時(shí)候?qū)π率植惶押茫夜碳䦷斓陌姹居悬c(diǎn)多(雖然大致都一樣)。

評分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

來自 11#
ID:369800 發(fā)表于 2018-7-24 11:05 | 只看該作者
首先,買塊開發(fā)板是少不了的。目前比較受歡迎功能全的板子有野火開發(fā)板、正點(diǎn)原子的ALIENTEK 開發(fā)板,算是幫推薦一下了。另外就是開發(fā)工具,STM32一般都支持串口ISP燒寫,但如果愿意多出錢買個(gè)J-link或U-link,st-LINK,這些工具使用更加簡便,可幫助你節(jié)省不少時(shí)間。另外,STM32系列的外設(shè)比較多,操作比51復(fù)雜,所以宜選用ST官方的固件庫來寫程序,所以要知道STM32官方固件庫的使用方法。買書的話也著重選講解固件庫的那種,一本《stm32參考手冊》也是必不可少的。跟著書上對固件庫調(diào)用的講解,應(yīng)該一晚上就可學(xué)會工程的建立,然后結(jié)合開發(fā)板資料就可點(diǎn)燈了

評分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

來自 15#
ID:378369 發(fā)表于 2018-7-24 13:46 | 只看該作者
其實(shí)我覺得如果你是剛開始學(xué)32,不妨買一個(gè)成熟模塊,先看看例程,從庫函數(shù)學(xué)起,從最小系統(tǒng)學(xué)起可能會比較難,因?yàn)楹芏嗄K需要外部連接,而這個(gè)連接對于新手來說可能不是那么容易,還是先理清楚成熟板子內(nèi)部結(jié)構(gòu)再開始用最小系統(tǒng)會比較好

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:277550 發(fā)表于 2018-7-23 00:11 | 只看該作者
最好是從寄存器開始,,,,,,,,,,,,,懂了寄存器,后面的各種功能、及函數(shù)庫,很容易上手

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

板凳
ID:377908 發(fā)表于 2018-7-23 14:41 | 只看該作者
提供一個(gè)學(xué)習(xí)方法的建議 https://jingyan.baidu.com/article/e73e26c0da8a0224adb6a7bb.html
回復(fù)

使用道具 舉報(bào)

地板
ID:377917 發(fā)表于 2018-7-23 15:05 | 只看該作者
建議從庫函數(shù)學(xué)起,實(shí)用且簡單;買一套正點(diǎn)原子的開發(fā)板就可
回復(fù)

使用道具 舉報(bào)

5#
ID:377975 發(fā)表于 2018-7-23 15:50 | 只看該作者
可以找靠譜的書或視頻系統(tǒng)學(xué)邊學(xué)邊用開發(fā)板實(shí)踐
回復(fù)

使用道具 舉報(bào)

6#
ID:378070 發(fā)表于 2018-7-23 17:28 | 只看該作者
32有庫函數(shù),沒有基礎(chǔ)的話建議買一套開發(fā)板來學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

7#
ID:364341 發(fā)表于 2018-7-23 19:53 | 只看該作者
我想說,為了學(xué)習(xí)單片機(jī)而去學(xué)習(xí)單片機(jī)的思路不對。

你問,如何系統(tǒng)地入門學(xué)習(xí)stm32?

本身就是一個(gè)錯誤的問題。假如你會使用8051 , 會寫C語言,那么STM32本身并不需要刻意的學(xué)習(xí)。

你要考慮的是, 我可以用STM32實(shí)現(xiàn)什么?

為什么使用STM32而不是8051? 是因?yàn)?1的頻率太低,無法滿足計(jì)算需求?是51的管腳太少,無法滿足眾多外設(shè)的IO? 是51的功耗太大,電池挺不住?是51的功能太弱,而你要使用SPI、I2C、ADC、DMA? 是51的內(nèi)存太小而你要存儲的東西太多?

當(dāng)你需要使用STM32某些功能,而51實(shí)現(xiàn)不了的時(shí)候, 那STM32自然不需要學(xué)習(xí),你會直接去尋找STM32某方面的使用方法。比如要用spi協(xié)議的網(wǎng)卡、要使用串口通信、要使用rtos等等。。。



從菜鳥到牛人的學(xué)習(xí)步驟

我們假定大家已經(jīng)對STM32的書籍或者文檔有一定的理解。如不理解,請立即閱讀STM32的文檔,以獲取最基本的知識點(diǎn)。

英文好的同學(xué),請不要以為你很牛,可以只看英文文檔。畢竟你是中國人,你最熟悉的,理解最好的還是中文?从⑽牡乃俣冗是比看中文慢一些,我們要的是最短的時(shí)間,而不是追求短時(shí)間內(nèi)記住所有細(xì)節(jié)。當(dāng)然,如果是一篇論文,建議看英文原版還是有好處的。

STM32處理器進(jìn)入國內(nèi)市場時(shí)候,ST官方(或者第三方)的推廣工作做的非常好。翻譯了大量的英文文檔,迎合了國內(nèi)的很多工程師的思維。

學(xué)習(xí)的時(shí)候,關(guān)注兩個(gè)比較重要的文檔:《STM32F103xxx參考手冊》,《STM32固件庫使用手冊》。這是針對有充足的時(shí)間、精力的同學(xué),建議去下載需要查閱的文檔,以獲取更多信息。

閱讀《STM32F103xxx參考手冊》,一定要注意,不需要全部閱讀——沒有時(shí)間的。建議選讀,但是前幾章必讀。存儲器和總線架構(gòu)、電源控制、備份寄存器、復(fù)位和時(shí)鐘控制,通用和復(fù)用功能I/O,中斷和時(shí)間等等前幾章一定要花時(shí)間閱讀。

后面章節(jié),講述的是具體的功能模塊設(shè)計(jì)。如果我們用到哪個(gè)模塊,就可以去閱讀哪個(gè)模塊。比如在使用AD的時(shí)候,就需要去閱讀第10章ADC。其他不舉例。相信每個(gè)初學(xué)者都有自己的研究方向和判斷。

閱讀《STM32固件庫使用手冊》,主要是為了簡化編程。STM32給我們提供了一個(gè)非常好的固件函數(shù)庫,我們只要去調(diào)用即可。當(dāng)然,我們也可以不去碰這些固件庫——傳說使用它會使得代碼效率變低,是有道理的。網(wǎng)絡(luò)上也出現(xiàn)了很多網(wǎng)友自己寫的代碼,沒有使用帶固件庫函數(shù)。如何取舍,在于您的選擇。

這里我主要強(qiáng)調(diào)的是,閱讀《STM32固件庫使用手冊》的時(shí)候,前面幾章也是必須閱讀的。比如第一章文檔和庫規(guī)范中的命名規(guī)則,編碼規(guī)則,這些都是需要注意的。第二章是最關(guān)鍵的,希望大家熟讀。第二章描述了固件庫的架構(gòu),我們?nèi)绾稳ナ褂霉碳䦷斓牟襟E等。有了第二章的基礎(chǔ),我們就可以借助固件庫寫出自己的代碼了。第四章開始之后,就可以根據(jù)大家的需要來閱讀。實(shí)際上,后續(xù)的章節(jié),都是描述某個(gè)模塊有什么什么函數(shù),每個(gè)函數(shù)如何使用等。

關(guān)于后面的章節(jié),建議對GPIO庫函數(shù)、中斷部分庫函數(shù)、復(fù)位和時(shí)鐘設(shè)置的庫函數(shù)要比較熟悉,因?yàn)槠綍r(shí)經(jīng)常會用到。

以上提到的這兩個(gè)文檔,已經(jīng)足夠您看的了,呵呵。希望您能從中獲取大量的STM32基礎(chǔ)知識。

設(shè)定一個(gè)不錯的兩周入門計(jì)劃

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

(2)這里所謂的“兩周”,根據(jù)每個(gè)人的時(shí)間安排不同而不同。

如果您每天有充足的時(shí)間學(xué)習(xí),那么可以規(guī)定自己盡快地能獨(dú)立地進(jìn)行簡單的STM32開發(fā)。

如果您每天只有業(yè)余時(shí)間來學(xué)習(xí)STM32,建議根據(jù)您的具體情況安排時(shí)間。畢竟計(jì)劃時(shí)間如果安排太緊,反而收不到良好的效果,只能進(jìn)入惡性循環(huán),這是我們要避免的。

但是建議,不管您有無充足的時(shí)間,都必須給自己做一個(gè)計(jì)劃!

我這里列出一個(gè)思路,僅供參考。

步驟一,安裝完STM32學(xué)習(xí)的軟件,比如J-Link、Keilfor ARM(MDK)、ISP(如果需要從串口下載的話)。這些軟件安裝的詳細(xì)步驟,可以參考我們推出的相應(yīng)教程進(jìn)行。

步驟二,挑選部分例程的HEX,比如LED燈的例程HEX文件,下載到芯達(dá)STM32開發(fā)板中,觀察兩個(gè)LED燈的閃爍情況。這部分的操作,可以參考我們推出的相應(yīng)的教程進(jìn)行。

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

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

步驟四,開始查看例程的編寫,看看例程是如何寫的,自己可否修改下例程,達(dá)到自己想要的效果呢?

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

恭喜你,至此,你已經(jīng)可以自如進(jìn)行獨(dú)立的開發(fā)了。最后一步,給自己一個(gè)目標(biāo)(項(xiàng)目),把它實(shí)現(xiàn)出來!

再次強(qiáng)調(diào),以上只是一個(gè)學(xué)習(xí)STM32的思路,供大家參考。下面列出了前面關(guān)鍵的步驟,希望大家能盡快入門。

第1步:熟悉調(diào)試軟件

對初學(xué)者來說,我們至少需要安裝兩個(gè)軟件:J-Link驅(qū)動軟件、MDK(就是原來的Keil)軟件。

這兩個(gè)軟件在安裝軟件的過程可以查看神舟開發(fā)板用戶手冊,這里不再重復(fù),大家可以參考我們推出的教程《如何安裝J-Link驅(qū)動軟件》以及《如何安裝MDK(Keil)軟件》。如何驗(yàn)證自己已經(jīng)熟悉調(diào)試軟件的操作了呢?很簡單,神舟STM32開發(fā)板光盤里附帶了很多HEX格式的文件,可以選擇一些HEX文件,來觀察運(yùn)行結(jié)果。

該步驟要達(dá)到的目標(biāo):熟悉調(diào)試軟件,如燒寫HEX出現(xiàn)問題,可簡單判別問題所在,并獨(dú)立解決。

第2步:GPIO編程

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

GPIO本身的編程實(shí)際上很簡單:

1、設(shè)置GPIO口的引腳為輸入或者輸出模式。我們在進(jìn)行點(diǎn)燈代碼的時(shí)候,一般設(shè)置為推挽輸出模式。

2、操作寄存器,往寄存器里置1或者清零操作——這個(gè)步驟,固件庫已經(jīng)提供了專門的GPIO_SetBits函數(shù)和GPIO_ResetBits函數(shù),我們只要去調(diào)用即可實(shí)現(xiàn)對IO口的置1和清零。

3、實(shí)現(xiàn)多種花樣的LED閃動,使得自己熟悉GPIO的編程過程。

該步驟要達(dá)到的目標(biāo):熟悉調(diào)試軟件,如燒寫HEX出現(xiàn)問題,可簡單判別問題所在,并獨(dú)立解決。

第3步:開始全新的STM32深入研究

經(jīng)過以上調(diào)試軟件的熟悉和GPIO口的編程調(diào)試后,相信您已經(jīng)對STM32有一定的了解。

至少知道如何利用STM32的固件庫去寫一個(gè)代碼。在這個(gè)階段,將要接觸到串口編程、TFT液晶屏驅(qū)動編程、定時(shí)器編程、串行外設(shè)接口SPI編程、存儲器編程、SD卡與文件系統(tǒng)移植、USB讀寫、UCOS移植等,有精力還可以研究其他外設(shè)。

140809my48za98trtfzycr.jpg (60.15 KB, 下載次數(shù): 56)

140809my48za98trtfzycr.jpg
回復(fù)

使用道具 舉報(bào)

10#
ID:378255 發(fā)表于 2018-7-24 00:33 | 只看該作者
你買單片機(jī)的時(shí)候一般會附帶教程,你可以下瀏覽一遍,稍微熟悉一下庫函數(shù)的用法,多嘗試幾次就熟練了
回復(fù)

使用道具 舉報(bào)

12#
ID:378364 發(fā)表于 2018-7-24 11:16 | 只看該作者
從庫函數(shù)開始學(xué)習(xí),然后學(xué)習(xí)外設(shè)
回復(fù)

使用道具 舉報(bào)

13#
ID:26849 發(fā)表于 2018-7-24 12:14 | 只看該作者
建議構(gòu)思一個(gè)項(xiàng)目做,定下期限,這樣比較快速
回復(fù)

使用道具 舉報(bào)

14#
ID:378430 發(fā)表于 2018-7-24 13:09 | 只看該作者
如果可以的話最好找項(xiàng)目做,一邊做項(xiàng)目一邊學(xué)習(xí)這樣會成長的很快。參考零死角玩轉(zhuǎn)stm32手冊根據(jù)指示一步步來,不過首先要弄懂各個(gè)寄存器,這樣有利于接下來的學(xué)習(xí)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

16#
ID:378464 發(fā)表于 2018-7-24 14:25 | 只看該作者
買個(gè)開發(fā)板,然后看這個(gè)開發(fā)板的資料和例程
回復(fù)

使用道具 舉報(bào)

17#
ID:378454 發(fā)表于 2018-7-24 14:36 | 只看該作者
建議學(xué)習(xí)庫函數(shù)版本,結(jié)合具體的項(xiàng)目,或者移植以前學(xué)過的項(xiàng)目代碼。結(jié)合具體的項(xiàng)目可以更加快速的入手

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

18#
ID:378485 發(fā)表于 2018-7-24 14:47 | 只看該作者
加油好好學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

19#
ID:378618 發(fā)表于 2018-7-24 18:05 | 只看該作者
買塊正點(diǎn)原子的板子,跟著視頻慢慢來來
回復(fù)

使用道具 舉報(bào)

20#
ID:378622 發(fā)表于 2018-7-24 18:20 | 只看該作者
同新手
回復(fù)

使用道具 舉報(bào)

21#
ID:364951 發(fā)表于 2018-7-24 19:09 | 只看該作者
這是我的一些資料,僅供參考,大家可以交流交流學(xué)習(xí),謝謝。https://pan.baidu.com/s/1BRBzgfaEOuPBBvNscEkaTw
回復(fù)

使用道具 舉報(bào)

22#
ID:378646 發(fā)表于 2018-7-24 19:17 | 只看該作者
先把51學(xué)會,之后如果有開發(fā)板根據(jù)開發(fā)板的教程一步一步來吧,另外多逛逛論壇,關(guān)鍵一點(diǎn)多動手,程序從改到寫
回復(fù)

使用道具 舉報(bào)

23#
ID:377611 發(fā)表于 2018-7-26 15:47 | 只看該作者
wenzedong 發(fā)表于 2018-7-23 22:28
我就談一下自己的感受吧,首先,需要有一些了解,因?yàn)槟阋I開發(fā)板吶,但是這時(shí)候我個(gè)人覺得最好不要問同學(xué) ...

謝謝指導(dǎo) 有方向了 謝謝
回復(fù)

使用道具 舉報(bào)

24#
ID:372737 發(fā)表于 2018-7-26 16:10 | 只看該作者
我的建議是自己做一來那個(gè)小車 買一個(gè)最基本的stm32f103去學(xué)習(xí) 然后買一些電機(jī) 輪子 光電開關(guān)
多寫點(diǎn)程序 多練練 看看正點(diǎn)原子的視頻 慢慢進(jìn)步

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

25#
ID:290583 發(fā)表于 2018-7-26 20:39 | 只看該作者
買開發(fā)板,看教程,然后自己開始做小項(xiàng)目
回復(fù)

使用道具 舉報(bào)

26#
ID:478123 發(fā)表于 2019-2-19 15:27
第一看教程(根據(jù)個(gè)人喜歡看書或者看視頻都可以,推薦看視頻)
第二自己動手操作

我推薦幾個(gè)關(guān)于stm32的視頻資料
(stm32串口應(yīng)用)
http://www.makeru.com.cn/live/detail/1290.html?s=45051
(stm32電機(jī)驅(qū)動)
http://www.makeru.com.cn/live/1392_1218.html?s=45051
(定時(shí)器)
http://www.makeru.com.cn/live/1392_1199.html?s=45051
(DMA專題講解)
http://www.makeru.com.cn/live/1392_1048.html?s=45051
http://www.makeru.com.cn/live/1392_1020.html?s=45051
( ADC讀取光照傳感器)
http://www.makeru.com.cn/live/1392_1004.html?s=45051
(STM32中斷系統(tǒng))
http://www.makeru.com.cn/live/1392_1124.html?s=45051
(時(shí)鐘系統(tǒng))
http://www.makeru.com.cn/live/1392_1082.html?s=45051
(stm32 實(shí)戰(zhàn)之溫濕度采集)
http://www.makeru.com.cn/live/detail/1476.html?s=45051

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表