如何提高STM32的學習效率
每當我們在入門之前(ARM是這樣,DSP也一樣),總會會有很多疑問,會有很多顧慮。我們渴望知道學習STM32前景如何?需要啥基礎?難不難?適不適合我?但是什么時候能心潮澎湃地、相當著急地開始學STM32?日子在一天一天過去!你開始行動了嗎?沒有行動的思索,永遠都不可能入門!把這些時間用來看書吧,效果能好一萬倍。
大家一般都是從51單片機過來的,回想一下,我們之前學單片機時如何入門呢?實際上都是先看書(理論),再玩板子(實踐)。嚴格地說,應該是模仿實驗。熟悉之后才會自己寫程序代碼實現(xiàn)某個功能。因此,如果你正在咨詢STM32;如果你正對STM32心潮澎湃;如果你想入門STM32;那么,從現(xiàn)在開始,不要猶豫了,不要想再詳細地了解STM32的前景了。做一個可能影響你一生的決定吧!不用咨詢,不用興奮,開始看書籍(文檔)吧每個人都是這么走過來的。
這里所謂的“資料”包括STM32書籍、文檔。因為STM32有個特點,datasheet很多都是中文的,有些同學就沒有去買書籍,直接看STM32的用戶手冊,也是可以的。但是不管看書籍還是文檔,我們是需要計劃的。不是今天看3頁,明天看5頁。一本書看了兩個月,還在磨蹭。請記住,你學的不是寂寞,是STM32!看書或文檔不是用來消遣時間的。背水一戰(zhàn)吧,給自己規(guī)定一個底線:兩周內(nèi)把一定粗略地過一遍!不要求都看懂,事實上,不可能都看懂。但我們必須理解基本知識,對難度高的知識有一個印象,至少以后碰到問題的時候,我們會似曾相識,感覺在哪里見到過,于是翻資料上網(wǎng)找答案——帶著問題的時候,效率才是超高的。
兩周過去了,STM32的知識你過一遍了嗎?沒看完?那么,你應該考慮這些天中,你是否盡力了?是否真的想學STM32?或者還是看到STM32人氣很高,也想跟下時髦?是不是碰到問題沒法解決就想放棄了?現(xiàn)在是你做第二個決定的時候了,請決定你是否繼續(xù)攻讀STM32。如果是一時沖動想跟時髦,請馬上放棄——你已經(jīng)浪費兩周時間了,你還想再浪費14天嗎?如果想吃得苦中苦,方為人上人,OK,請繼續(xù)往下看:)
稍微了解一些理論知識后,現(xiàn)在擺在你面前,有兩條路:
第一,自己畫PCB制板、焊接、調(diào)試。
第二,購買一套性價比高的開發(fā)板。
筆者之前做過幾次PCB設計,而且當時在實驗室可以報銷所有費用,就自己做了一個PCB板。建議有報銷條件的同學自己設計一塊板子學習。畢竟2層PCB的設計不是很難。
無法報銷的同學,可以選購一款開發(fā)板學習。因為自己出錢制板,至少需要150元,加上芯片元件費用、液晶屏費用,可能制作最小系統(tǒng)也要約250元。所以購買開發(fā)板還是比較合算的。畢竟現(xiàn)在市場上的STM32開發(fā)板已經(jīng)白菜價了。這里不方便進行各個品牌STM32開發(fā)板的比較。
總之一句話,選購的開發(fā)板一定要性價比最高的,最實惠的,而不是最貴的。實際上,大多數(shù)同學選購的開發(fā)板是用來學習的,不是用來項目開發(fā)的。因此,能讓你上手STM32,目的已經(jīng)達到了。
這時的你,不能再停留在理論上了。你現(xiàn)在的心情,應當是:看到開發(fā)板,馬上就有一種說不出的興奮!但是,心急吃不了熱豆腐!請耐心把廠家配套的開發(fā)板使用手冊瀏覽一遍,熟悉你買的開發(fā)板。按照使用手冊,把開發(fā)板上的相關測試、操作步驟,都動手做一遍,你會發(fā)現(xiàn),原來開發(fā)STM32是如此簡單!那么就讓我們開始STM32的開發(fā)之路吧!
如何進行真正入門STM32,請看第二章《STM32入門方法談》。
第二章入門方法談
國內(nèi)用戶有一個普遍現(xiàn)象:用戶拿到開發(fā)板后,不知道如何下手。由于沒有自己的思路,又是初學者,也沒有好的突破口,因此,買來開發(fā)板后,開機,看看觸摸屏,感嘆“好漂亮”的屏幕顯示,然后就迷茫了。開發(fā)板是不會告訴你如何使用它的。開發(fā)板的光盤?光盤里放置一大堆資料——我該先看哪個?后看哪個?總之,我如何開始STM32的入門學習??
針對該現(xiàn)象,芯達STM32開發(fā)板對廣大初學者進行詳細說明。請用戶在購買芯達STM32開發(fā)板后,做兩件事情:
1、給開發(fā)板上電,查看開發(fā)板、液晶屏顯示是否運行正常(HEX下載測試功能還需學習完J-Link后方可進行)。
2、根據(jù)我們編寫的入門教材系列,按部就班進行。該套教程從醞釀到編寫歷時2個多月時間,教程涉及的內(nèi)容:從拿到開發(fā)板后如何安裝J-Link、MDK(keil)調(diào)試軟件的講解開始,一直到最后STM32上的UCOS移植,每個文檔力求講解通俗、詳細,讓您更快上手STM32。有了專門的配套教程,會讓您在學習STM32的過程中少走許多彎路,提高學習效率了??傊?,它將帶您進入STM32的精彩世界!我們相信,在您的努力研究下,獨立地進行簡單的STM32開發(fā),只需要不到一個月時間?。ňW(wǎng)絡上有號稱只要短短的x天就學通STM32,筆者認為難度較大。筆者從事STM32開發(fā),辭職后,進行教學工作,有一段時間了,但是,還不敢說學通,還不過是菜鳥而已,自認為:高級菜鳥。)
筆者做任何事情前,習慣寫一個計劃——可能是在公司的時候,每天、每周、每月必寫計劃和總結養(yǎng)成的“毛病”,呵呵。正如在上一節(jié)中提及:我們要用一個月內(nèi)上手STM32!我們開始考慮,如何更好地利用好這一個月的時間呢?我想起了第一天公司入職的情景。我的工作導師讓我先領一臺PC,安裝必要的軟件,然后告訴我近一個月的任務是什么。當時我很不屑,因為剛參加了公司組織的培訓,以為自己啥都會,但是失敗了。原因:盲目進行項目,沒有一個計劃。
沒有計劃的日子會很慘。就像每天早上醒來睜開眼睛,卻不知道自己今天要干啥。閑話不說,我們談一談計劃和時間安排。
筆者認為,學習STM32,實際上也是進行項目的過程。進行項目,就必須有項目進度文檔,至少需要預計項目的耗時。雖然沒有那么規(guī)范,但建議大家至少要給自己一個時間表:告訴自己從2010年x月y日至2010年m月n日,必須能夠進行獨立的項目開發(fā)。比如定為30天,把這個時間分三個階段:
第一階段:找感覺——談及STM32,立即反應到調(diào)試的方法如何。第二階段:修改例程——
第三階段:主動攻擊——
每個階段有一個目標后,再細化該目標到每天,寫出每天要完成的任務。注意,每天的任務不可太多,否則時間太緊,完成不了當天的任務,反而會進入惡性循環(huán),導致第二天、第三天,以后的任務也將無法完成。最終導致整個計劃的失敗。
每天的任務需要根據(jù)自己的具體情況來定。如果有充足的時間,可以安排多一些任務。如果每天只有2個小時,切記,寧可少安排任務,也不可追求加快項目進度。當然,心中有事情后,每天自然就會忙碌起來!你的學習生活會更加充實!
學習難免會遇到問題。在公司參加培訓的時候,學員被告知:困難即機會。所以希望大家坦然面對問題,不能逃避。一小部分同學在遇到問題的時候,總是想:能否避開走另一條路?比如調(diào)試程序,某一個程序的語法不太懂,就想用另一種表示方法來代替,或者直接注釋掉。——這是很可怕的。因為你現(xiàn)在一旦放過一個問題,可能意味著你一輩子可能都沒有機會去碰這個問題。那么你的技術無法進入最高境界。我們是為學習而來,說難聽點,我們現(xiàn)在的付出,是想以后能有更好的回報的。
此外,碰到問題,不能馬上就到處求助。原因:
1、這個問題可能是你的疑問,但它還不具體,你無法用最好的語言讓別人接受、理解,并且回答它。很多網(wǎng)友看到模凌兩可的問題,是不會回答的。比如Linux如何移植?這個問題,如果詳細說,需要用半本書來解釋——沒有人愿意花兩三個小時告訴你如何移植。所以這時候,你要做的,是先去查資料,自己試圖解決它。當碰到某一個具體的步驟,實在想不通的時候,比如Linux移植過程中,文件掛載打印卡住了。這個現(xiàn)象,可能對有經(jīng)驗的人來說,一句話就能點破。而你因為有先前研究的基礎,一聽即可知道哪里出問題。這樣的方式,學習效率是最高的。
2、CPU是相通的,相信大部分的同學都學習過單片機,是有一定基礎的。如果你碰到問題,去嘗試了,自己把問題解決了,你會很有成就感??!因為這是你獨立思考的結果??!當然,你應該寫一個總結文檔,收藏在PC中備忘。也可以把總結文檔發(fā)帖到論壇上(比如:http://www.eetrend.com/forum),這樣的原創(chuàng)文檔,跟帖率是最高的。慢慢地,你在這個領域,有了網(wǎng)絡知名度。——這絕對是一筆財富。
當然,筆者在此并不是不讓大家使用別的方式討論問題。相反,我提倡大家踴躍發(fā)言討論。剛才是就事論事,也是筆者自己的一點小經(jīng)歷。經(jīng)歷了,才發(fā)現(xiàn)如何做才更有效率。
評論