為防止讀者誤解辽装,首先申明一點(diǎn)闽寡,我不是大佬代兵,亦不是大神,只是眾多單片機(jī)學(xué)習(xí)者中的一員而已爷狈。我寫(xiě)此文的目的主要是記錄自己學(xué)習(xí)的過(guò)程植影,并借此為一些初學(xué)者提供部分參考,或許能讓初學(xué)者少走一些彎路涎永。
從小我對(duì)電子器件有比較濃厚的興趣思币,特別是對(duì)那些會(huì)動(dòng)的電子玩具更是好奇,好奇它為什么會(huì)動(dòng)羡微,好奇它為什么能無(wú)線遙控谷饿。但小學(xué)、初中妈倔、高中的課本無(wú)法為我解答博投,唯一接近的就是物理課了,所以我學(xué)的很認(rèn)真盯蝴,不為別的毅哗,只因它能滿足我的部分好奇心。興趣是最好的老師捧挺,或許就是如此吧虑绵。
相信很多對(duì)電子感興趣的讀者都拆過(guò)不少東西,玩具汽車闽烙、壞音響翅睛、壞DVD……只要你認(rèn)為它沒(méi)用了,就會(huì)想拆開(kāi)看看里面是什么構(gòu)造黑竞。但是當(dāng)你拆開(kāi)之后你會(huì)發(fā)現(xiàn)都不認(rèn)識(shí)捕发。唯一可能熟悉的就是電機(jī)或者一個(gè)喇叭了,但是喇叭這種東西摊溶,在什么都不懂的情況下是很難讓它發(fā)出聲音的爬骤,更別說(shuō)讓它播放優(yōu)美的音樂(lè)了,所以小時(shí)候玩的最多的就是電機(jī)了莫换,因?yàn)槟阒灰o它供電霞玄,它就會(huì)不停地旋轉(zhuǎn),你可以用它打洞拉岁,做小車坷剧、小船,非常有意思喊暖。小時(shí)候的我覺(jué)得電機(jī)是最好玩的東西了惫企,看到家里的DVD、VCD有問(wèn)題了,就想著能不能拆個(gè)電機(jī)出來(lái)玩狞尔,現(xiàn)在想來(lái)還真是敗家啊丛版。
但是隨著年齡的增長(zhǎng)、學(xué)業(yè)的加重偏序,越來(lái)越?jīng)]有心思去玩這些小玩具页畦,而身邊也沒(méi)有人懂,只能將這些東西深埋心底了研儒。但慶幸的是我考上了大學(xué)豫缨,并加入了實(shí)驗(yàn)室,有機(jī)會(huì)接觸到不一樣的東西端朵。
猶記得剛進(jìn)入實(shí)驗(yàn)室的時(shí)候好芭,在書(shū)柜中看到一本關(guān)于51單片機(jī)的書(shū),很是好奇冲呢。不是對(duì)內(nèi)容好奇舍败,而是書(shū)名,因?yàn)閺膩?lái)沒(méi)有見(jiàn)過(guò)以數(shù)字作為書(shū)名的書(shū)碗硬。這就是我和51單片機(jī)的第一次見(jiàn)面了瓤湘。
后來(lái)實(shí)驗(yàn)室開(kāi)始對(duì)新生進(jìn)行培訓(xùn),才漸漸地知道原來(lái)世界上還有單片機(jī)這種神奇的東西恩尾,而隨著更深入的學(xué)習(xí)弛说,才知道這種技術(shù)已經(jīng)發(fā)展了幾十年了。
當(dāng)時(shí)培訓(xùn)使用的是STC12C5A60S2翰意,聽(tīng)說(shuō)它是51內(nèi)核木人,和51單片機(jī)兼容。但是51是什么冀偶,內(nèi)核是什么醒第,我都不明白,但是我想學(xué)进鸠,我想讓它為我點(diǎn)燈稠曼,也想用它制作一個(gè)電子鬧鐘(這是我加入實(shí)驗(yàn)室的一個(gè)目標(biāo),現(xiàn)在想來(lái)這個(gè)目標(biāo)好低級(jí)翱湍辍)霞幅。所以什么都不懂的我開(kāi)始跟著學(xué)長(zhǎng)學(xué)習(xí),學(xué)習(xí)C語(yǔ)言量瓜,學(xué)習(xí)單片機(jī)技術(shù)司恳。
沒(méi)有任何基礎(chǔ)的小白學(xué)習(xí)這些東西是很痛苦的事情,就像是讓一個(gè)完全不懂英語(yǔ)的人去寫(xiě)绍傲、去說(shuō)一樣扔傅。書(shū)上的字倒是都認(rèn)識(shí),但是連起來(lái)就不知什么意思了,還有各種技術(shù)名詞更是加大了學(xué)習(xí)難度猎塞。電平是什么试读?高電平、低電平又是什么邢享?為什么不說(shuō)電壓鹏往,而說(shuō)電平?FLASH是什么骇塘,RAM又是什么?串行韩容、并行數(shù)據(jù)款违?總線?端口群凶?I/O口插爹?……這些名詞都要一一弄個(gè)明白,否則一句話讀下來(lái)你根本不知道是什么意思请梢。還好當(dāng)時(shí)自己還知道通過(guò)手機(jī)上網(wǎng)搜這些東西(幸好以前會(huì)用手機(jī)搜小說(shuō)看)赠尾,否則根本不知道該怎么辦才好。
正因?yàn)榱慊A(chǔ)毅弧,所以需要付出比別人更多的努力气嫁,特別是對(duì)我這個(gè)連電腦都不怎么會(huì)用的人來(lái)說(shuō)更是如此。高中有一段時(shí)間沉迷于游戲够坐,雖然不是網(wǎng)游寸宵,卻也無(wú)法自拔。所以下定決心不再玩游戲了元咙,但也正因?yàn)槿绱颂萦埃覍?duì)電腦可謂一竅不通。記得當(dāng)時(shí)學(xué)習(xí)新建工程的時(shí)候庶香,我都不知道要把一個(gè)個(gè)文件放在一個(gè)文件夾里面甲棍,所以總是把學(xué)長(zhǎng)的電腦桌面弄的亂七八糟的。而當(dāng)我學(xué)習(xí)了新建文件夾的時(shí)候赶掖,卻總會(huì)忘記文件夾所在的路徑感猛,所以又得重新來(lái)過(guò)。因此我在學(xué)習(xí)單片機(jī)技術(shù)的時(shí)候倘零,要克服的不僅僅是技術(shù)問(wèn)題唱遭,還有電腦的操作問(wèn)題。
為了學(xué)習(xí)單片機(jī)技術(shù)呈驶,學(xué)長(zhǎng)要求安裝兩個(gè)軟件拷泽,一個(gè)是KEIL,一個(gè)是Altium Designer。但是對(duì)于我這個(gè)電腦渣渣來(lái)說(shuō)司致,也是難為我了拆吆。不知道該如何安裝,更不知到該如何破解脂矫。同學(xué)說(shuō)安裝軟件只要一直點(diǎn)“Next”就可以了枣耀,但是我點(diǎn)了幾次后發(fā)現(xiàn)“Next”變灰了,點(diǎn)不了了庭再,只能請(qǐng)同學(xué)幫忙捞奕。后來(lái)看同學(xué)操作才知道,還要同意協(xié)議拄轻、填寫(xiě)信息之類的才行颅围。后來(lái)勉勉強(qiáng)強(qiáng)記住了吧,又發(fā)現(xiàn)還要破解軟件恨搓,但好好的一個(gè)軟件為啥要破解啊院促,我也不懂,更不要說(shuō)動(dòng)手去破解了斧抱,所以又只能請(qǐng)同學(xué)幫忙常拓。為了安裝這兩個(gè)軟件我可是吃了不少苦頭,特別是Altium Designer辉浦,因?yàn)樗陌惭b時(shí)間太久了弄抬,但后來(lái)我發(fā)現(xiàn)對(duì)于一個(gè)單片機(jī)軟件開(kāi)發(fā)者來(lái)說(shuō),這個(gè)軟件根本就不需要好吧盏浙。
大一的時(shí)候沒(méi)有帶電腦眉睹,所以只能借實(shí)驗(yàn)室的電腦學(xué)習(xí)。而這些軟件又是學(xué)習(xí)的必備軟件废膘,所以我就暗自記下安裝步驟竹海,并用圖書(shū)館的電腦嘗試安裝。經(jīng)過(guò)多次練習(xí)總算記住了∝せ疲現(xiàn)在想來(lái)其實(shí)自己很傻斋配,當(dāng)時(shí)如果有寫(xiě)筆記的習(xí)慣,直接截圖灌闺,然后把安裝過(guò)程記錄下來(lái)就可以了艰争,干嘛要用腦子去一遍遍的記啊,而且就算記住了桂对,到現(xiàn)在也忘記了啊甩卓。事實(shí)上上網(wǎng)搜教程也是不錯(cuò)的選擇,但對(duì)于我一個(gè)電腦小白來(lái)說(shuō)蕉斜,根本就不知道這些東西網(wǎng)上是能搜到啊逾柿。
當(dāng)時(shí)下載單片機(jī)程序采用的是STC自己開(kāi)發(fā)的一款軟件缀棍,一直下載不了,問(wèn)了同學(xué)才知道原來(lái)還有一個(gè)驅(qū)動(dòng)需要安裝机错。但是驅(qū)動(dòng)是什么我又不知道爬范,因?yàn)樵谖业母拍罾镏灰衍浖惭b上了就可以使用了啊,為啥需要驅(qū)動(dòng)弱匪。后來(lái)上網(wǎng)搜了驅(qū)動(dòng)是什么青瀑,但是也沒(méi)看出個(gè)所以然來(lái)。
在學(xué)長(zhǎng)的帶領(lǐng)下萧诫,磕磕碰碰的學(xué)習(xí)著51單片機(jī)斥难,因?yàn)檫€要學(xué)習(xí)C語(yǔ)言,所以學(xué)長(zhǎng)就推薦譚浩強(qiáng)的C語(yǔ)言程序設(shè)計(jì)那本書(shū)财搁。雖然書(shū)上的內(nèi)容現(xiàn)在看來(lái)確實(shí)很不錯(cuò)蘸炸,但以我當(dāng)時(shí)的水平來(lái)看確實(shí)很難理解,所以這本書(shū)在前期并沒(méi)有啃多少尖奔,因?yàn)楦究胁粍?dòng)啊。
真正讓我的單片機(jī)學(xué)習(xí)之路步入正軌的恐怕是郭天祥的《十天學(xué)會(huì)單片機(jī)》視頻教程了穷当。當(dāng)時(shí)沒(méi)電腦提茁,而實(shí)驗(yàn)室有些電腦很少有人使用,所以我看到空閑的電腦就會(huì)打開(kāi)來(lái)學(xué)習(xí)馁菜。剛好在其中一個(gè)電腦的文件夾中看到了一大堆視頻文件茴扁,打開(kāi)一看,才知道原來(lái)是51單片機(jī)的視頻教程汪疮。當(dāng)時(shí)特別興奮峭火,因?yàn)橹霸趯W(xué)長(zhǎng)的帶領(lǐng)下學(xué)習(xí)實(shí)在是困難重重,很多東西都不懂智嚷,又不好意思問(wèn)(因?yàn)閱?wèn)題實(shí)在是太多了)卖丸,所以特別需要一個(gè)非常系統(tǒng)的基礎(chǔ)視頻幫助我入門(mén)(如果有一個(gè)前輩就更好了,但哪有這樣隨叫隨到的前輩供你請(qǐng)教呢盏道?)稍浆。因此當(dāng)我看到這個(gè)視頻后,我就把所有的重心都放在視頻學(xué)習(xí)上了猜嘱,雖然我不能直接向郭老師提問(wèn)衅枫,但是他確實(shí)是從非常非常基礎(chǔ)的東西講起朗伶,對(duì)于我這個(gè)菜鳥(niǎo)來(lái)說(shuō)弦撩,也能聽(tīng)懂個(gè)80%,這就非常不錯(cuò)了论皆。而且視頻可以反復(fù)看益楼,看完了之后還能跟著視頻寫(xiě)代碼猾漫,非常不錯(cuò)。
在視頻中學(xué)習(xí)時(shí)偏形,郭老師一直在說(shuō)看第幾頁(yè)第幾頁(yè)的静袖,一直沒(méi)聽(tīng)明白,看了好幾集視頻才知道原來(lái)這個(gè)視頻還有配套的書(shū)籍俊扭,也有配套的開(kāi)發(fā)板队橙,所以果斷買(mǎi)了一本正版書(shū)籍(稍微提一句,書(shū)籍和開(kāi)發(fā)板加起來(lái)的成本對(duì)于學(xué)生來(lái)說(shuō)可能有些高了萨惑,可以買(mǎi)二手的或者盜版的書(shū)籍捐康,當(dāng)然最好買(mǎi)正版的,畢竟郭老師花了很多心血庸蔼。而開(kāi)發(fā)板可以買(mǎi)其它公司生產(chǎn)的解总,核心都一樣。當(dāng)時(shí)我們實(shí)驗(yàn)室自己設(shè)計(jì)了一個(gè)卡片大小的51開(kāi)發(fā)板供我們新生學(xué)習(xí)姐仅,非常不錯(cuò)花枫。當(dāng)然也因?yàn)楹鸵曨l中的開(kāi)發(fā)板不同,所以跟著視頻學(xué)習(xí)的時(shí)候必然會(huì)增加不必要的困難掏膏,不能照搬代碼劳翰,但也因此能學(xué)習(xí)的更加深刻)。這樣一來(lái)我的學(xué)習(xí)資源總算是完整了馒疹。一邊跟著視頻學(xué)佳簸,一邊將書(shū)本上的內(nèi)容看懂,最后通過(guò)開(kāi)發(fā)板實(shí)際操作一遍颖变,這樣互相對(duì)照生均,自我感覺(jué)學(xué)習(xí)效率還是可以的,能明顯的感覺(jué)到每天都在進(jìn)步腥刹。而也正因?yàn)橛羞@樣的學(xué)習(xí)經(jīng)歷马胧,所以我一直建議初學(xué)者要以視頻學(xué)習(xí)為主,因?yàn)橐曨l學(xué)習(xí)更直觀肛走,能讓人更快的了解陌生的事物漓雅,否則任你說(shuō)的天花亂墜,我不能在腦海中建立直觀的感受又有什么用呢朽色。
但是視頻學(xué)習(xí)也要選擇比較有名的才好邻吞,畢竟網(wǎng)上的資源層次不齊,好的視頻資源能讓你事半功倍葫男,慶幸的是我一開(kāi)始遇到的就是郭老師的視頻教程抱冷,否則我的單片機(jī)學(xué)習(xí)之路可能會(huì)更加艱難吧。而直到現(xiàn)在梢褐,我也一直將視頻保存在我的網(wǎng)盤(pán)中旺遮,因?yàn)榻?jīng)典值得收藏赵讯。
當(dāng)我花了半個(gè)多月時(shí)間將視頻教程完整的看完一遍后,對(duì)于單片機(jī)也就有了初步的認(rèn)識(shí)耿眉,而點(diǎn)燈边翼、數(shù)碼管、定時(shí)器等知識(shí)也都齊備了鸣剪,覺(jué)得是時(shí)候完成我的定時(shí)鬧鐘程序了组底,所以就開(kāi)始構(gòu)思我的鬧鐘程序了。事實(shí)不應(yīng)該叫構(gòu)思筐骇,只是走一步看一步罷了债鸡。雖然當(dāng)中遇到很多的邏輯問(wèn)題,也沒(méi)有掌握很好的調(diào)試方法铛纬,但因?yàn)檫@個(gè)程序功能實(shí)在是太簡(jiǎn)單了厌均,所以還是只花了一個(gè)星期時(shí)間就通過(guò)自行思考解決了所有的問(wèn)題。而也正因?yàn)樗械膯?wèn)題都是自己利用C語(yǔ)言知識(shí)自行解決的告唆,并沒(méi)有向?qū)W長(zhǎng)求助棺弊,所以對(duì)我理解C語(yǔ)言知識(shí)具有非常大的助益,也是我一直以來(lái)把這個(gè)程序當(dāng)做我入門(mén)C語(yǔ)言的標(biāo)志(單片機(jī)的入門(mén)標(biāo)志應(yīng)該是從點(diǎn)亮第一個(gè)燈開(kāi)始的吧)擒悬。
實(shí)驗(yàn)室對(duì)于大一新生處于放養(yǎng)狀態(tài)镊屎,沒(méi)有人會(huì)管你,全靠你的自覺(jué)。記得當(dāng)時(shí)有80多新生一起學(xué)習(xí),但最終留下來(lái)的不到十人栏尚,而這十人之中大部分是我們班的(我們是特殊班級(jí)宠默,理論少,實(shí)踐多)运怖。而我能堅(jiān)持下來(lái)的很大一部分原因是因?yàn)榕d趣拼弃,所以當(dāng)我成了學(xué)長(zhǎng),成了大一新生能否進(jìn)入實(shí)驗(yàn)室的面試官的時(shí)候摇展,我都會(huì)從側(cè)面去觀察吻氧、了解這個(gè)人是否對(duì)這個(gè)感興趣,因?yàn)槲抑烙搅趯?shí)驗(yàn)室這種開(kāi)放的環(huán)境下盯孙,是否被淘汰取決于自身,而不是實(shí)驗(yàn)室祟滴。但我還是會(huì)給新生一個(gè)機(jī)會(huì)振惰,因?yàn)橛械臅r(shí)候,興趣是可以培養(yǎng)的垄懂,所以我面試的大部分人都是通過(guò)了的骑晶,只有一些目的不純(為了比賽證書(shū))或者態(tài)度不好的人才不讓他通過(guò)痛垛。
用了一年時(shí)間的時(shí)間學(xué)習(xí)51單片機(jī)知識(shí),很多東西并沒(méi)有完全弄明白桶蛔,但周圍的同學(xué)都開(kāi)始學(xué)習(xí)STM32單片機(jī)了匙头,所以我只能放下51單片機(jī),開(kāi)始學(xué)習(xí)更高級(jí)的STM32∽欣祝現(xiàn)在看來(lái)這個(gè)選擇是對(duì)的蹂析,因?yàn)椴皇撬械臇|西都一定要弄得清楚清楚的,覺(jué)得差不多的時(shí)候就該換更高級(jí)的東西學(xué)習(xí)朽寞。記得曾經(jīng)看過(guò)這樣一個(gè)小故事识窿,一個(gè)音樂(lè)家教人彈琴,開(kāi)始的時(shí)候是很簡(jiǎn)單的樂(lè)譜脑融,在學(xué)員彈了一段時(shí)間后喻频,雖然彈的不是很好,但這個(gè)音樂(lè)家還是換了一個(gè)更難的樂(lè)譜肘迎,學(xué)員不明白甥温,但還是跟著學(xué)習(xí)了。過(guò)了一段時(shí)間妓布,在學(xué)員沒(méi)有練習(xí)好的情況下姻蚓,音樂(lè)家又拿了一個(gè)更難的樂(lè)譜叫學(xué)員彈。一段時(shí)間后匣沼,一個(gè)學(xué)員忍不住問(wèn)老師這是為什么狰挡。音樂(lè)家直接拿了最開(kāi)始的那張樂(lè)譜叫他們彈奏,發(fā)現(xiàn)他們彈的特別流暢释涛。這個(gè)道理或許和單片機(jī)學(xué)習(xí)是一樣的吧加叁,雖然我沒(méi)有將51單片機(jī)所有的東西都弄清楚,但是學(xué)了這么久的STM32后唇撬,51根本不成問(wèn)題它匕。事實(shí)上現(xiàn)在的我也應(yīng)該轉(zhuǎn)向更高級(jí)的Linux學(xué)習(xí)的,但是因?yàn)楝F(xiàn)在工作需要窖认,而STM32的很多東西在Linux中也會(huì)有豫柬,所以還是在STM32領(lǐng)域繼續(xù)深耕了,不過(guò)時(shí)間也不會(huì)太久扑浸。
熟悉我的人都知道我最喜歡《凡人修仙傳》烧给,因此我將自己的學(xué)習(xí)之路也按照修仙界的等級(jí)進(jìn)行了劃分:大一剛接觸單片機(jī),只是一個(gè)凡人首装,后來(lái)因?yàn)橥瓿闪唆[鐘程序创夜,算是進(jìn)入了練氣期。在大三的時(shí)候完成了一小項(xiàng)目仙逻,算是磕了一枚筑基丹驰吓,進(jìn)入筑基期涧尿,而筑基期是一個(gè)門(mén)派中最為重要的力量,也能被人稱之為前輩了檬贰,所以一般的工作問(wèn)題不大姑廉。到了現(xiàn)在,因?yàn)橛謱W(xué)習(xí)了不少新知識(shí)翁涤,算是進(jìn)入了筑基后期桥言,但是要突破金丹期,也只有靠Linux來(lái)助我凝結(jié)金丹了葵礼,任重道遠(yuǎn)号阿。
敢問(wèn)道友是何境界?
歡迎關(guān)注微信公眾號(hào):