<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 第一節(jié):吳堅鴻談初學(xué)單片機的誤區(qū)

          第一節(jié):吳堅鴻談初學(xué)單片機的誤區(qū)

          作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
          從業(yè)將近十年!手把手教你單片機程序框架 第一講:

          (1)很難記住繁雜的寄存器?寄存器不用死記硬背,鴻哥我行走江湖多年,連一個寄存器都記不住。需要配置寄存器的時候,直接在網(wǎng)上或者書本上參考別人現(xiàn)成的配置程序是上策,查找芯片數(shù)據(jù)手冊是中策,死記硬背寄存器是最最下策。

          本文引用地址:http://www.ex-cimer.com/article/201611/319807.htm

          (2)很難記住繁雜的匯編語言指令?除非是在校學(xué)生要應(yīng)付考試或者少數(shù)工作中繞不開匯編,否則學(xué)匯編就是浪費時間。鴻哥我行走江湖多年,從來就沒有用匯編幫客戶做過一個項目。

          (3)C語言很難學(xué)?你不用學(xué)指針,你不用學(xué)帶形參的函數(shù),你不用學(xué)結(jié)構(gòu)體,你不用學(xué)宏定義,你不用學(xué)文件操作,你也不用死記繁瑣的數(shù)據(jù)類型。你只要會:

          • 5條指令語句switch語句,if else語句,while語句,for語句,=賦值語句。
          • 7個運算符+,-,*,/,|,&,!。
          • 4個邏輯關(guān)系符||,&&,!=,==.
          • 3個數(shù)據(jù)類型unsigned char, unsigned int, unsigned long。
          • 3個進制相互轉(zhuǎn)化,二進制,十六進制,十進制。
          • 1個void函數(shù)。
          • 1個一維數(shù)組code(或const) unsigned char array[]。

          那么世界上任何一種邏輯功能的單片機軟件你都能做出來。

          鴻哥我當年剛畢業(yè)出來工作的時候才知道可以用C語言開發(fā)單片機,一開始只用if語句就把項目做出來了,沒有用指針,沒有用帶形參的函數(shù)等復(fù)雜的功能。再到后來才慢慢開始用C語言其他的高級功能,但是我發(fā)現(xiàn)C語言其他的高級功能,本質(zhì)上都是用我前面列舉出來的最基本功能集合而成,只是書寫更加簡單方便了一點,編譯后的機器碼都大同小異。所以不會指針等高級功能你不用自卑,恰恰相反,當你會最簡單的幾個語句,就把這些高級功能的程序都做出來了,你才發(fā)現(xiàn)你對底層了解得更加透切,再學(xué)那些高級功能輕而易舉。當你裸機跑的程序都能夠協(xié)調(diào)得很好的時候,你才發(fā)現(xiàn)所謂高深的操作系統(tǒng)也不過如此,只要給你時間和金錢你也可以寫個操作系統(tǒng)來玩玩。

          (4)很難記住精確時間的計算公式?經(jīng)??吹綍r間公式等于晶振,時鐘周期,執(zhí)行指令次數(shù)他們之間的乘除關(guān)系式。鴻哥我認為這些都是浮云,不用糾結(jié)也不用去記,大概了解一下就可以了。不管你對公式掌握得有多精確,你都不可能做出非常精確的時間。想用單片機做一個非常精確的時間這種想法一開始就是錯的,不可能的。真想做一個比較精確的時間,應(yīng)該用外圍時鐘芯片或者FPGA和CPLD,而不是單片機。

          (5)很難記住繁雜的各種通信協(xié)議?什么IIC,SPI,232串口通訊,CAN,USB等等。這些都是浮云,你不用記那么多,你只要理解兩種通訊方式就夠了,那就是串行通訊方式和并行通訊方式。不管世界上有多少種通訊協(xié)議,物理世界上只有這兩種通訊方式,其他各種名稱的通訊協(xié)議都基于此兩種方式演變而來。

          (6)很難寫短小精悍的程序?初學(xué)者不要糾結(jié)于此。做項目開發(fā),程序容量不是刻意追求的目標,程序多一點少一點沒關(guān)系,現(xiàn)在大容量的單片機品種非常多,容量不會是寸土寸金的事情,我們更加要關(guān)注程序的運行效率,可讀性和可修改性。

          既然鴻哥列出了那么多誤區(qū),那么什么才是初學(xué)者關(guān)注的核心?預(yù)知詳情,請聽下回分解----delay()延時實現(xiàn)LED燈的閃爍。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();