經(jīng)驗分享 | 多年前我的第一個小項目
關注、星標公眾號,直達精彩內容
來源:技術讓夢想更偉大
作者:李肖遙
在之前的一個朋友圈中,我發(fā)過我在開通淘寶之后買的第一個東西,AVR單片機下載器51單片機轉接版 ATMEGA16芯片 51轉AVR套件 。

現(xiàn)在回想起來依然是一件記憶猶新的事情,借此也分享一下如何入門一個簡單的小項目以及一些經(jīng)驗分享。
尋跡小車小項目
這是一個尋跡小車的小項目,各種器材元器件也都是在網(wǎng)上買的,本來這輛小車還在家里的,但是最近兩三年沒回家,估摸著是被幾個調皮的小外甥給拿去玩壞了,所以找了張這樣的照片來。
當時開始是在51單片機上敲敲代碼,也有很多資料參考,程序都有參考所以跟著調試一下可以跑起來,其實主要目的就是通過一些項目來鍛煉自己編碼能力以及對8位單片機的寄存器操作了解。
熟悉之后,覺得8位單片機還是比較簡單,但是由于大學沒啥錢,就想著來買個51轉AVR或者ATMEGA16,這樣只需要轉換掉核心芯片就可以了,幾十塊錢可以搞定,一塊板子可以搞定三塊芯片,是很劃算的事情。
這是一段難忘的經(jīng)歷,這個小東西現(xiàn)在看來其實是很簡單的,感興趣的可以上網(wǎng)看看或者找找資料自己搞一個。我清楚明白的記得當時的感受,現(xiàn)在回頭來看也有很多對比與思考,想與大家分享。
入門&概念
相信大家都有這樣的經(jīng)歷,當經(jīng)歷一個項目或者解決一個bug的之前,我們可能都不太明白具體要做什么或者像我當時一樣處于懵懵的狀態(tài),而搞定之后就會豁然開朗,守得云開見月明。
其實說到底這并不是這個東西有多難,而是我們在其中沒有一個具體的概念,我當時連一些芯片元器件等等都不是很懂,也不知道代碼是怎么運行到硬件上面去的,所以入門是一件看似簡單其實很艱難的事情。
現(xiàn)在回頭來看,一般來說接到一個項目就大概的知道往哪個方向去走,需要什么樣的技術棧,如果有一個bug,大部分還是知道該如何去debug或者能夠猜測到是哪個類型的問題的。這些成長并不是很容易用文字去描述的,我覺得就是概念的漸漸培養(yǎng),潛移默化當中我們擁有的知識與經(jīng)驗增加了,那我們這樣的思維就慢慢培養(yǎng)起來了。
所以在我們解決問題的時候,想比做更重要,要多想,心里有思路,甚至可以用筆畫出來,然后按照這個思路去做,遇到問題再回來畫一畫想一想,問題就會漸漸清晰了,概念也就明確了,自然而然的我們的問題就會得到解決了。
興趣&探索
想起來開始搞這些元器件的時候,想的是搞得越多越好,我搜了一下淘寶,我買的東西可真是多啊,像這樣的紅外避障傳感器、舵機電機、聲光控開關套件、超聲波測距/RT分體接收發(fā)射模塊/超聲波傳感器探頭、紅外解碼模塊等等,這里太多了不放圖了。

當然也有很花錢的開發(fā)板,我買過的板子就包括51、msp430、stm32系列一大堆、arm s3c2440以及一些搞飛思卡爾的板子等等,少說也是十幾塊了。
其實也沒什么別的就是感興趣,心態(tài)就是想把這些都學一遍,當時沒講究什么學習方法,就是想去探索,而且據(jù)說這些都是常用的單片機,工作上也是常常用到的。雖然現(xiàn)在想起來有點傻,不知道舉一反三,純粹是打著題海戰(zhàn)術,但是這也算是一種彎路過后的醒悟吧。
其實這里我想分享一點的是,對于單片機而言,學會看芯片手冊,根據(jù)寄存器來寫程序,或者庫函數(shù)的使用這些基本的技能掌握之后,是可以融會貫通的,不需要全部去學習,而是在接觸一個新的型號的芯片之后就擁有能夠去使用它的能力。
學習能力
嵌入式范疇太廣泛了,學不完,這是我最大的感受,如果你經(jīng)歷過幾個公司或者在小公司接手過一些不同類型的項目,你會發(fā)現(xiàn)每次用到的主控或者開發(fā)軟件平臺都很難相同,更不用說在不同領域的了。
所以學習能力很重要,這是在不斷經(jīng)驗的積累下,在不斷的知識積累、不斷的探索下形成的,這需要我們能夠堅持,并且堅持學習。
最后
嵌入式的學習確實是范疇廣,入門難深入更難,學的多關鍵還錢少,每當想到這些都會有焦慮有后悔吧。但是回過頭看當初選擇的,豈不是興趣打開了這扇大門,豈不是有那么一點小理想讓自己堅持。
假期給了自己一些思考的時間,同時也拾起了初心,既然選擇了這條路就要風雨兼程,不因外界的環(huán)境對比而失去生活的本真,用最初的心去做事吧!
嵌入式編程專輯 Linux 學習專輯 C/C++編程專輯 Qt進階學習專輯
關注我的微信公眾號,回復“加群”按規(guī)則加入技術交流群。
點擊“閱讀原文”查看更多分享。
