為什么要寫這篇文章呢?這是一篇關(guān)于嵌入式入門的文章,因?yàn)槲以谶M(jìn)入嵌入式這個(gè)領(lǐng)域之前,也是遇到過非常多非常多的困難,所以呢,希望寫下這篇文章,讓大家看看少走彎路。
首先,我打算先列舉一下大家問得最多的幾個(gè)問題,然后我們一起由問題切入進(jìn)行一些討論。
問題1:我是學(xué)單片機(jī)好還是直接學(xué)STM32好??
問題2:STM32如何才能快速入門?
問題3:為什么是STM32呢?為什么不是ARM9,ARM11呢?
下面我將逐個(gè)答復(fù)
首先問題1:我是學(xué)單片機(jī)好還是直接學(xué)STM32好呢?
答:首先我們談下目的,你學(xué)習(xí)的最終目的是能夠開發(fā)產(chǎn)品或者成為項(xiàng)目經(jīng)理;而目前市場上的單片機(jī)都基本用C語言了,用匯編進(jìn)行開發(fā)的項(xiàng)目已經(jīng)非常少了
在硬件接口這個(gè)環(huán)節(jié)上都一樣:學(xué)51單片機(jī)和學(xué)STM32都是一樣的,主要看其市場上的資料是不是足夠充分,都是調(diào)用硬件的接口,控制I/O,完成相應(yīng)的功能
在軟件這個(gè)環(huán)節(jié)上,STM32要強(qiáng)過51單片機(jī):為什么這么說呢?學(xué)STM32它自帶一個(gè)官方的庫,而這個(gè)庫的源代碼是開放的;而51單片機(jī)卻沒有,也就說,當(dāng)你做一個(gè)具體項(xiàng)目的時(shí)候,用STM32開發(fā)項(xiàng)目速度會(huì)比用51單片機(jī)要輕松快捷,方便,并且BUG也少.
ST的這個(gè)庫專門是由ST官方團(tuán)隊(duì)打造的,是經(jīng)過詳細(xì)認(rèn)真測試過的,例如:你要做處理器支持USB的U盤功能,對51來說,你可能需要在網(wǎng)上去找這樣一個(gè)驅(qū)動(dòng),然后移植到51單片機(jī)上,這樣的缺點(diǎn)是:移植本身就比較累,比較麻煩,并可能有些代碼不一定經(jīng)過驗(yàn)證了的,很難保證沒有BUG;而STM32是官方推薦的庫源代碼,這些功能早就有了,所以用STM32開發(fā)項(xiàng)目做起來非常的輕松,愉快,放心,BUG也少。
從選型方面考慮:STM32的性價(jià)比與單片機(jī)相比,雖說單片機(jī)很便宜了,一般市場上就5塊錢左右,而STM32最便宜的是10元多一點(diǎn),但是如果比性價(jià)比,STM32還是很要強(qiáng)過51單片機(jī)很多,為什么呢?因?yàn)槭紫萐TM32是72MHZ的主頻,而51單片機(jī)是10多M,隨著未來產(chǎn)品功能增多了,要求越來越高,可能51單片機(jī)的速度和性能就滿足不了需求,而STM32足夠強(qiáng)勁的主頻,可以延緩這個(gè)問題,使得您的產(chǎn)品周期生命得到延長,而且你有其他新需求也可以靈活增加上來,因?yàn)镾TM32完全有能力負(fù)擔(dān)得起。
問題2:STM32如何才能快速入門?
答:首先就是最好具備基本的電子基礎(chǔ),如果您只有純軟件基礎(chǔ),那就應(yīng)該打扎實(shí)C語言基礎(chǔ),然后弄一塊開發(fā)板,邊學(xué)邊補(bǔ)充硬件電子方面的知識,因?yàn)檐浖尘叭ダ碚摰膶W(xué)硬件,那是非?菰锏氖虑椋倚Ч膊灰欢ɡ硐;那么此時(shí)你就需要一款比較的板子,板子大與小,功能多與少都不是那么重要,這里最重要的就是要資料豐富,資料豐富,才是最好的;我當(dāng)時(shí)就從同事那里弄了一塊STM32神舟系列的板子,大概花了1,2個(gè)星期就正式入門。
問題3:為什么是STM32呢?為什么不是ARM9,ARM11呢?
答:這里有個(gè)誤區(qū),很多同學(xué)如果就僅僅希望入門嵌入式,那就盡量不要選擇ARM9和ARM11,為什么呢?因?yàn)檎T惑太多了,因?yàn)槟阋坏┻x擇ARM9或ARM11,那么這個(gè)平臺(tái)就僅僅linux和wince等操作系統(tǒng)內(nèi)核,驅(qū)動(dòng),應(yīng)用,各種協(xié)議,硬件原理圖,等都有夠?qū)W一年半載了,沒這點(diǎn)時(shí)間,你無法完全掌握,所以并不適合入門,周期太長,難度相對來說較大。
入門最好選擇主頻低一點(diǎn)的處理器,一切都是先掌握好原理,弄明白,弄透徹了,一切就都好辦!所以單片機(jī)中,STM32是目前最最主流的芯片,加上目前STM32的資料非常的多,所以,最好還是推薦STM32的開發(fā)板做為入門級的板子,學(xué)會(huì)之后,即可自己獨(dú)立開發(fā)出各種產(chǎn)品,STM32官方提供的開源代碼庫也是非常好用,將底層的各種匯編,管腳定義都封裝成了各個(gè)功能函數(shù),開發(fā)起來非常方便,快捷!
|