|
從學(xué)習(xí)角度來講,衡量是否學(xué)會(huì)一個(gè)MCU的標(biāo)準(zhǔn)應(yīng)該是你寫的程序你應(yīng)該知道他是怎么執(zhí)行的,應(yīng)該具體到某一個(gè)指令所涉及到的寄存器,看到一個(gè)指令之后腦子里應(yīng) 該是一串01運(yùn)算才行,而不是可以簡單的應(yīng)用了。雖然現(xiàn)在很多公司推出的新產(chǎn)品都給出了固件庫,可以使工程師更快的進(jìn)行編程使用。但是,這樣的結(jié)果是使更 多的硬件工程師變成純軟件工程師而已。你會(huì)對(duì)一個(gè)芯片編程,但你并不了解他。也許有人說,反正我能用了就行了,干嘛非要了解它呢。其實(shí)這樣想就錯(cuò)了,要想 真正的用好一個(gè)芯片。不了解他是不行的,甚至不深入全面的了解都是不行的,一些硬件上的簡單改動(dòng)有可能使系統(tǒng)的性能發(fā)生很大的變化。因此要想設(shè)計(jì)一個(gè)比較 好的產(chǎn)品,必須對(duì)芯片本身有一個(gè)深入的了解。在這方面,51單片機(jī)由于內(nèi)核簡單,很容易上手并容易深入了解。學(xué)習(xí)起來比較簡單。熟練掌握了51,再學(xué)習(xí)其 他的芯片,如ARM也是很簡單的,因?yàn)樗械奈⒖刂破鞯墓δ芙Y(jié)構(gòu)框架都是一樣的,了解了一種之后再學(xué)習(xí)另一種很簡單。相比復(fù)雜的ARM結(jié)構(gòu),51結(jié)構(gòu)就顯 的很簡單了,甚至可以認(rèn)為,ARM是在51的結(jié)構(gòu)上增加的許多功能模塊構(gòu)成的,雖然二者的結(jié)構(gòu)并不真的相同。
前幾天在論壇里 看到有人呼吁,別學(xué)51了,改學(xué)ARM吧。我覺得這樣的人應(yīng)該屬于二者都沒有學(xué)好的人,二者的區(qū)別和聯(lián)系肯定不清楚才這樣喊的,同時(shí)有過51和ARM學(xué)習(xí) 經(jīng)驗(yàn)的人應(yīng)該知道,學(xué)精了51再學(xué)ARM所用的時(shí)間只不過是看一遍芯片手冊(cè)的時(shí)間(有些夸張),而直接以ARM作為MCU入門的話則要費(fèi)很大的勁。對(duì)于一 個(gè)從來沒有接觸過單片機(jī)的人來說,面對(duì)復(fù)雜的ARM手冊(cè)往往會(huì)感到無從下手。可以這樣比喻一下,學(xué)ARM是一口氣登上一座高山,而學(xué)51相當(dāng)于到了半山 腰。在半山腰上的風(fēng)景雖不及山頂,卻仍可有所作為。而再從半山腰的高度上山,難度自然減小了。至于有人抱怨說找工作的時(shí)候沒人要只會(huì)51的,我覺得應(yīng)該這 樣看這個(gè)問題,學(xué)51和學(xué)ARM并不存在沖突,了解了51只后當(dāng)然可以再學(xué)ARM。
|
|