
在電子電路知識(shí)的學(xué)習(xí)或?qū)嵺`過(guò)程中,免不了會(huì)面臨一些方向的轉(zhuǎn)變。可能是技術(shù)發(fā)展方向的改變,也可能是個(gè)人興趣的改變。但可以確定的是,從一個(gè)知識(shí)點(diǎn)到另一個(gè)知識(shí)點(diǎn)的轉(zhuǎn)變并非那么容易的。就如一開(kāi)始接觸了51單片機(jī),隨后要向ARM逐漸轉(zhuǎn)變,那么這之中必然會(huì)出現(xiàn)不匹配的地方。
本文針對(duì)設(shè)計(jì)中51單片機(jī)到ARM的轉(zhuǎn)變給出了一些適合新手的建議,這些建議來(lái)自于經(jīng)驗(yàn)豐富的電源設(shè)計(jì)老手,相信能給大家?guī)?lái)一定的幫助。
其實(shí)學(xué)習(xí)ARM并非一件難事,特別是使用mdk的話。只要會(huì)c也就能做一些簡(jiǎn)單的開(kāi)發(fā)。不要被那些稀奇古怪的東西給搞糊涂。一定要邊開(kāi)發(fā)邊學(xué)習(xí),只要項(xiàng)目做深了,該學(xué)習(xí)到的東西自然就懂了。下面來(lái)正式說(shuō)一些建議:
1、arm的匯編沒(méi)必要去精通,能夠大概看懂即可。通常在調(diào)試的時(shí)候才需要看看。如果一個(gè)速度要求苛刻到需要使用匯編的話,那么最好的辦法是轉(zhuǎn)變思路,修改算法。比如使用查表代替計(jì)算等。
2、工業(yè)控制方面因?yàn)橛袑?shí)時(shí)性和成本要求,一般不使用操作系統(tǒng),但會(huì)自己實(shí)現(xiàn)一些內(nèi)存管理、事件管理、郵箱之類的東西。這些需要時(shí)間積累,平時(shí)寫(xiě)程序注意盡量通用化,然后建立自己的庫(kù),以后使用會(huì)非常方便。以前使用過(guò)一些操作系統(tǒng),發(fā)現(xiàn)并沒(méi)有提高開(kāi)發(fā)速度,而且還造成了調(diào)試?yán)щy的問(wèn)題,出現(xiàn)bug也不方便找。
3、對(duì)于公司來(lái)說(shuō),如果項(xiàng)目很大需要用到操作系統(tǒng)、網(wǎng)絡(luò)、gui、文件系統(tǒng)等,那么還不如直接買個(gè)板子,方便快捷而且bug很少,量大的話還可以定制,算上開(kāi)發(fā)成本,可能更便宜。
4、不建議使用外設(shè)一般都有現(xiàn)成的庫(kù)。因?yàn)橄胍煤眠@些庫(kù),必須對(duì)外設(shè)寄存器比較熟悉才行,所以這時(shí)候自己寫(xiě)一個(gè)即可,而且簡(jiǎn)單的一個(gè)寄存器賦值,函數(shù)庫(kù)往往需要調(diào)用一個(gè)函數(shù)來(lái)實(shí)現(xiàn),占用了太多資源。但是對(duì)于運(yùn)算庫(kù)還是要用的,比如DSP庫(kù)等。
5、用好中斷,這對(duì)51和arm是一樣的。能用中斷的地方絕對(duì)不用輪詢,中斷是單片機(jī)的靈魂,你的所有程序都應(yīng)該圍繞中斷展開(kāi)。
6、學(xué)好C語(yǔ)言,形成自己的編程風(fēng)格,起好函數(shù)名和變量名,多寫(xiě)注釋。不要怕麻煩,這些很重要,最好的程序風(fēng)格是使人不需要看注釋就能立刻理解程序的意思也就是:程序即注釋。此外還要用好指針,如果說(shuō)中斷是單片機(jī)的靈魂,那么指針就是C的靈魂。
等到做的項(xiàng)目越來(lái)越多且熟悉之后,大家就會(huì)發(fā)現(xiàn)其實(shí)51單片機(jī)向ARM的轉(zhuǎn)變并不難,兩者是高度相似的,而最主要的部分存在于各種外設(shè)的寄存器操作。并且很多時(shí)候采用ARM才是比51單片機(jī)更加便利的,這主要是因?yàn)锳RM在性能上優(yōu)于51單片機(jī),有時(shí)成本的增加主要是開(kāi)發(fā)時(shí)間造成的,因此采用資源豐富的芯片來(lái)提高速度才是最佳的選擇。
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請(qǐng)注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開(kāi)的文章或圖片,未能及時(shí)和您確認(rèn),避免給雙方造成不必要的經(jīng)濟(jì)損失,請(qǐng)電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關(guān)注 | ||
![]() |
技術(shù)專題 | 更多>> | |
![]() |
技術(shù)專題之EMC |
![]() |
技術(shù)專題之PCB |