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