新手學(xué)C語(yǔ)言還是學(xué)匯編?
這是一個(gè)非常有爭(zhēng)議的問題,以前有人推崇匯編,是因?yàn)樗粫?huì)C,有人也說有的人說不能用匯編寫大的程序是因?yàn)樗麤]有學(xué)好匯編。我希望你看過這個(gè)頁(yè)面之后不要再去尋找是學(xué)匯編還是學(xué)C的答案。
一個(gè)合格的硬件工程師,應(yīng)該都學(xué),我推薦你先學(xué)習(xí)C語(yǔ)言,因?yàn)閰R編入手太慢,寫程序要以C為主,需要高速的或者底層的操作用內(nèi)嵌匯編的方式。
匯編和c同樣重要,相互配合,缺一不可!
匯編的重要性:
幫助你從根本上徹底和完全了解芯片的結(jié)構(gòu)和性能,以及工作原理,如何使用。
在小的芯片上實(shí)現(xiàn)小的系統(tǒng)。
系統(tǒng)的調(diào)試。盡管你使用了高級(jí)語(yǔ)言,在調(diào)試中可以幫助你了解C代碼的性能和特點(diǎn),甚至找到使用開發(fā)平臺(tái)本身的BUG。
編寫時(shí)序要求嚴(yán)格的代碼,實(shí)現(xiàn)一些高級(jí)語(yǔ)言不易實(shí)現(xiàn)的功能。
從目前的技術(shù)和應(yīng)用發(fā)展來看,對(duì)硬件工程師的要求越來越高。以我的觀點(diǎn),作為單片機(jī)和嵌入式系統(tǒng)開發(fā)真正的高手,應(yīng)具備以下幾個(gè)方面的綜合能力:
硬件。模擬、數(shù)字電路的雄厚基礎(chǔ),了解跟蹤現(xiàn)在市場(chǎng)上的各種元器件的應(yīng)用和發(fā)展,能夠進(jìn)行可靠、完善的電路設(shè)計(jì)以及PCB的設(shè)計(jì)。
軟件。不僅需要精通匯編語(yǔ)言,也要精通C語(yǔ)言,要有好的單片機(jī)系統(tǒng)程序設(shè)計(jì)理念和能力,學(xué)校中學(xué)的那些分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等基本原理遠(yuǎn)遠(yuǎn)不夠!要有基本的數(shù)據(jù)結(jié)構(gòu)的知識(shí)。否則你如何設(shè)計(jì)實(shí)現(xiàn)USB HOST讀U盤的接口?如何實(shí)現(xiàn)嵌入式WEB系統(tǒng)?以及如何使用真正了解和使用RTOS?
具備計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)字通信的基礎(chǔ)知識(shí),從根本上熟悉和了解各種協(xié)議的構(gòu)造和實(shí)現(xiàn),如:UART、RS232、SPI、I2C、USB、 IEEE802、TCP/IP等。
計(jì)算機(jī)應(yīng)用的高手。
熟練閱讀英文資料。
熱愛和喜歡電子技術(shù),具備刻苦精神、踏踏實(shí)實(shí),不弄虛作假,不浮躁。多動(dòng)手,勤實(shí)踐。有強(qiáng)烈的專業(yè)和鉆研精神。最后一條最重要!