很多單片機初學者在與我交流的時候,總是的一句話是:我現在是單片機初學者,我怎樣才能更快的學好單片機,學習單片機有市場不。對于這個問題現在就如何學單片機,如何入門,如何熟練來談點看法。
下面我先分享一位初學者的經歷及感悟:
本人還是學生,接觸單片機一年多以來,從最基礎的51開始,到更高級點的MSP430,一直到現在剛開始上手的STM32,編過的程序不算多,但加起來怎么也有上百個了,做過的東西仔細數數,能拿出手來算算的上是個樣的也不下十個,算是小有所成吧。
但今天,我卻發現,這一年我一直在走一條歪路。
先說一下情況吧,是這樣的,最近同學幾個合伙做個小項目,不算復雜,跟市面上的工程項目完全沒法比,用難再需要使用的一個芯片是老師給的,從沒用過,沒有歷程,至于一份電子版的數據手冊,一切的一切都只能是從頭開始,從底層開始,我們幾個并開始從最底層的邏輯時序、寄存器操作開始,但經過幾天的研究,確實毫無效果可言。
為此,我們幾個郁悶了好長時間,開始瘋狂的上網搜資料,拷代碼,卻終究是不得而返,還讓老師罵了一頓,因為這個項目是我們主動要求老師放給我們的,結果卻耽誤了工期。
我們幾個人很受打擊,最終決定大家一起靜下心來分析分析,到底我們敗在了什么地方?
最后總經過兩天的思考、討論、總結、檢討···,我們發現了問題的所在,想來想去,這估計是很大一部分初學者正在面臨的一個“瓶頸問題”。
總結失敗幾點原因:
1、“都是開發板惹的禍”,可以說從開始學習單片機,哪怕是最基礎的51、以致后來的MSP430、ARM,我沒從未離開過開發板,而且這長達一年多的時間,養成了我們對開發板極大的依賴,盡管自己焊過51最小系統、繪制過430最小系統板,但都是參考的別人已有的電路圖,連最基本的電路基本都沒分析過,為什么要在這幾個電阻,該加個多大的,不加會怎么樣,太大了/太小了會有什么后果,等等此類問題,我們從未分析過,全是COPY、COPY、再COPY,以致自己做過的東西不少,能力卻未曾提高。
2、“全是例程誤導我”,我們買來的開發板,往往都會帶有豐富的例程,通常這也是賣家吹噓、比拼的地方,但就是這些附帶的歷程,讓我們與底層的開發絕緣了,有了例程,我們不用再一個代碼一個代碼地敲鍵盤,不用再去研究那些器件的數據手冊、通信接口、寄存器、內部原理、以及很多商家沒給我們加進去的功能,哪怕是將這些程序改到別的地方,我們也不過是在宏定義里改兩個引腳配置而已,從未嘗試過從底層寫驅動、敲代碼、寫函數,從未嘗試過快平臺移植代碼,開發呢些沒用過的功能等等。
3、“現實環境太無奈”,這跟上面兩個說的是不同的方面,我們都是大學生,大學里現在吵得火熱的“大學生就業難”、“你是考研還是就業”、“你報XXX培訓班了嗎”“你考四六級證了嗎”等等,好像上大學就是為了干這些,似乎沒有這些,你就會陷入“畢業即失業”的困境。面對這些外來的干擾,越來越多的學生坐不住了,我們這些人也一樣,盡管一直在學習自己的愛好,但當被人問得多了的時候,心里也難免會發毛、會害怕,從而導致一年來真正靜下心來學這些東西的時間越來越少。
大體也就總結怎么多吧,經過這次失敗,也算是教訓深刻吧,再說將來的路還長,現在發現這些,應該不算晚吧。
那么,到底如何邁入單片機開發世界
首先,我覺得有了單片機實驗板你就要多練習,最好是自己有臺電腦,少下載幾部電影,少網絡游戲,把實驗板和電腦連好,安裝上必備的軟件,下載參考程序,并修改參考程序,從最簡單的交通燈實驗做起,等你發現你能控制交通燈,并了解交通的軟硬設計的時候你已經入門了,你會發現單片機是多么迷人的東西啊,這不是在學習知識,而是在提升自我的價值。
用途那么廣的交通的設計都不在話下了,你還會覺得你沒有學到東西嗎。還會覺得自己什么都不會嗎?計算機編程、電子技術的專業知識都用上了啊。
當你編寫的程序按你的意愿實現時,你比做什么事都開心,那種學習的收獲感和成就感還有充實感是非常難得的,然后讓數碼管亮起來顯示你所需要的數字。
這兩部分會了以后,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。就這樣學習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,這其中你會找你之前學過的編程的書,還有數電模電的書,你會發現原來之前學的知識還是有用的。遇到不懂再去找以前學過的書本查閱這才是 “溫故而知新,可以為師矣”的大道理啊。
知識必須用于現實生活中,解決實際問題,用單片機設計個簡易的家電定時器、紅外遙控器什么,這樣才能發揮它的作用。
如果大家有遇到同樣問題的、要類似迷茫的、要好的建議意見的,歡迎進群交流,大家一起共勉。
評論
查看更多