初學(xué)單片機(jī)會(huì)有以下幾個(gè)誤區(qū),過來人這么說:
(1)很難記住繁雜的寄存器?
寄存器不用死記硬背,鴻哥我行走江湖多年,連一個(gè)寄存器都記不住。需要配置寄存器的時(shí)候,直接在網(wǎng)上或者書本上參考別人現(xiàn)成的配置程序是上策,查找芯片數(shù)據(jù)手冊(cè)是中策,死記硬背寄存器是最最下策。
(2)很難記住繁雜的匯編語言指令?
除非是在校學(xué)生要應(yīng)付考試或者少數(shù)工作中繞不開匯編,否則學(xué)匯編就是浪費(fèi)時(shí)間。我行走江湖多年,從來就沒有用匯編幫客戶做過一個(gè)項(xiàng)目。
、
(3)C語言很難學(xué)?
你不用學(xué)指針,你不用學(xué)帶形參的函數(shù),你不用學(xué)結(jié)構(gòu)體,你不用學(xué)宏定義,你不用學(xué)文件操作,你也不用死記繁瑣的數(shù)據(jù)類型。你只要會(huì):
5條指令語句switch語句,if else語句,while語句,for語句,=賦值語句。
7個(gè)運(yùn)算符+,-,*,/,|,&,!。
4個(gè)邏輯關(guān)系符||,&&,!=,==.
3個(gè)數(shù)據(jù)類型unsigned char, unsigned int, unsigned long。
3個(gè)進(jìn)制相互轉(zhuǎn)化,二進(jìn)制,十六進(jìn)制,十進(jìn)制。
1個(gè)void函數(shù)。
1個(gè)一維數(shù)組code(或const) unsigned char array[]。
那么世界上任何一種邏輯功能的單片機(jī)軟件你都能做出來。
我當(dāng)年剛畢業(yè)出來工作的時(shí)候才知道可以用C語言開發(fā)單片機(jī),一開始只用if語句就把項(xiàng)目做出來了,沒有用指針,沒有用帶形參的函數(shù)等復(fù)雜的功能。再到后來才慢慢開始用C語言其他的高級(jí)功能,但是我發(fā)現(xiàn)C語言其他的高級(jí)功能,本質(zhì)上都是用我前面列舉出來的最基本功能集合而成,只是書寫更加簡(jiǎn)單方便了一點(diǎn),編譯后的機(jī)器碼都大同小異。所以不會(huì)指針等高級(jí)功能你不用自卑,恰恰相反,當(dāng)你會(huì)最簡(jiǎn)單的幾個(gè)語句,就把這些高級(jí)功能的程序都做出來了,你才發(fā)現(xiàn)你對(duì)底層了解得更加透切,再學(xué)那些高級(jí)功能輕而易舉。當(dāng)你裸機(jī)跑的程序都能夠協(xié)調(diào)得很好的時(shí)候,你才發(fā)現(xiàn)所謂高深的操作系統(tǒng)也不過如此,只要給你時(shí)間和金錢你也可以寫個(gè)操作系統(tǒng)來玩玩。
(4)很難記住精確時(shí)間的計(jì)算公式?
經(jīng)常看到時(shí)間公式等于晶振,時(shí)鐘周期,執(zhí)行指令次數(shù)他們之間的乘除關(guān)系式。我認(rèn)為這些都是浮云,不用糾結(jié)也不用去記,大概了解一下就可以了。不管你對(duì)公式掌握得有多精確,你都不可能做出非常精確的時(shí)間。想用單片機(jī)做一個(gè)非常精確的時(shí)間這種想法一開始就是錯(cuò)的,不可能的。真想做一個(gè)比較精確的時(shí)間,應(yīng)該用外圍時(shí)鐘芯片或者FPGA和CPLD,而不是單片機(jī)。
(5)很難記住繁雜的各種通信協(xié)議?
什么IIC、SPI、232串口通訊,CAN、USB等等。這些都是浮云,你不用記那么多,你只要理解兩種通訊方式就夠了,那就是串行通訊方式和并行通訊方式。不管世界上有多少種通訊協(xié)議,物理世界上只有這兩種通訊方式,其他各種名稱的通訊協(xié)議都基于此兩種方式演變而來。
(6)很難寫短小精悍的程序?
初學(xué)者不要糾結(jié)于此。做項(xiàng)目開發(fā),程序容量不是刻意追求的目標(biāo),程序多一點(diǎn)少一點(diǎn)沒關(guān)系,現(xiàn)在大容量的單片機(jī)品種非常多,容量不會(huì)是寸土寸金的事情,我們更加要關(guān)注程序的運(yùn)行效率,可讀性和可修改性。(作者吳堅(jiān)鴻)
-
單片機(jī)知識(shí)
+關(guān)注
關(guān)注
0文章
2瀏覽量
9192
原文標(biāo)題:初學(xué)單片機(jī)會(huì)有誤區(qū),這樣來邁過!
文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
吳堅(jiān)鴻談初學(xué)單片機(jī)的誤區(qū)。
【轉(zhuǎn)】單片機(jī)入門的方法與誤區(qū)
學(xué)習(xí)51單片機(jī)的誤區(qū)
小編科普學(xué)習(xí)單片機(jī)的幾個(gè)誤區(qū)
給初學(xué)單片機(jī)的40個(gè)實(shí)驗(yàn)
從單片機(jī)初學(xué)者邁向單片機(jī)工程師
單片機(jī)系統(tǒng)設(shè)計(jì)的誤區(qū)與對(duì)策
51單片機(jī)怎么顯示當(dāng)前時(shí)間_單片機(jī)初學(xué)者必看
![51<b class='flag-5'>單片機(jī)</b>怎么顯示當(dāng)前時(shí)間_<b class='flag-5'>單片機(jī)</b><b class='flag-5'>初學(xué)</b>者必看](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
新手學(xué)習(xí)單片機(jī)最常見的六大誤區(qū)!
![新手學(xué)習(xí)<b class='flag-5'>單片機(jī)</b>最常見的六大<b class='flag-5'>誤區(qū)</b>!](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
評(píng)論