单片机初学者编程经常会碰到的问题及处理办法
在剛開始接觸單片機(jī)學(xué)習(xí)的時(shí)候,尤其是C語(yǔ)言基礎(chǔ)比較薄弱的老鐵們,經(jīng)常會(huì)碰到很多比較低級(jí)的錯(cuò)誤,程序編譯錯(cuò)誤一大堆,但不知道如何解決!
一、程序開發(fā)經(jīng)常容易出現(xiàn)的問(wèn)題匯總:
①忘記寫分號(hào),或分號(hào)輸入錯(cuò)誤,導(dǎo)致程序編譯錯(cuò)誤。
基本上每個(gè)C語(yǔ)言初學(xué)者都會(huì)碰到這個(gè)問(wèn)題,忘記寫分號(hào),或者分號(hào)的輸入格式錯(cuò)誤。
C語(yǔ)言中的每條語(yǔ)言結(jié)束都是以分號(hào)為標(biāo)志的,而且分號(hào)必須是英文輸入模式下的輸入。
②大括號(hào)不對(duì)等,導(dǎo)致編譯不通過(guò)
C語(yǔ)言程序編程,大括號(hào)的左括號(hào)和右括號(hào)必須一一對(duì)應(yīng),否則編譯提示錯(cuò)誤。
③函數(shù)未聲明,編譯提示函數(shù)功能違法。
C語(yǔ)言中編程種,調(diào)用代碼后面書寫的函數(shù),必須要先在文件的前面聲明,再調(diào)用,否則就會(huì)報(bào)錯(cuò),如果是調(diào)用前面的函數(shù),可以不聲明。
為了養(yǎng)成良好的習(xí)慣,C文件的所有函數(shù)最好都可以在對(duì)應(yīng)的.H文件或本文件的前面聲明一下。
④語(yǔ)法錯(cuò)誤,“=”和“==”混淆,“&”和“&&”,“|”和“||”用法不能區(qū)分。
初學(xué)者,對(duì)C語(yǔ)言的符號(hào)理解不夠透徹,導(dǎo)致程序編寫邏輯錯(cuò)誤。
⑤沒有將.C文件加到工程中,導(dǎo)致編譯無(wú)法通過(guò)。
⑥打開工程,.h文件提示感嘆號(hào)。
從其他地方下載或拷貝的工程,.h經(jīng)常會(huì)提示感嘆號(hào),出現(xiàn)這個(gè)問(wèn)題只需要重新編譯,感嘆號(hào)就會(huì)消失。
⑦其他問(wèn)題,沒有增加.h文件,沒有寫main函數(shù),備注格式錯(cuò)誤等。
二、如何處理這些問(wèn)題
每一個(gè)軟件程序開發(fā)者,剛開始學(xué)習(xí)軟件編程的時(shí)候,都會(huì)出現(xiàn)這些零零碎碎的問(wèn)題,但大家別慌,出現(xiàn)這些問(wèn)題都是很正常的,軟件開發(fā)學(xué)習(xí)過(guò)程都會(huì)有這樣的經(jīng)歷,當(dāng)我們敲的代碼多了,自然而然就會(huì)掌握經(jīng)驗(yàn),避免這些問(wèn)題。
剛開始學(xué)習(xí)編程,如何處理這些問(wèn)題?
編譯錯(cuò)誤的處理辦法:
處理方法1:雙擊提示的錯(cuò)誤信息,光標(biāo)會(huì)自動(dòng)跳轉(zhuǎn)到錯(cuò)誤提示處。
在光標(biāo)跳轉(zhuǎn)到的位置,仔細(xì)檢查問(wèn)題,是不是大括號(hào)不對(duì)應(yīng)?是不是分號(hào)寫成了中文輸入格式?是不是“|”寫成了”||”.
這個(gè)是程序編程過(guò)程中最常用的方法。
處理方法2:?將編譯的錯(cuò)誤提示,點(diǎn)擊右鍵復(fù)制,然后百度搜索相關(guān)信息。
這個(gè)辦法適合于處理一些較復(fù)雜的問(wèn)題
處理方法3:?向一些有經(jīng)驗(yàn)的老工程請(qǐng)教。
這種方法是必須是要有人幫助你的情況下才能實(shí)現(xiàn)。
我們?cè)趩纹瑱C(jī)學(xué)習(xí)的過(guò)程中,經(jīng)常會(huì)因?yàn)橐恍┬〉膯?wèn)題很久不能解決和處理而放棄單片機(jī)的學(xué)習(xí),如果大家沒有這樣的資源,可以關(guān)注無(wú)際單片機(jī)編程,得到幫助。
三、單片機(jī)程序開發(fā),養(yǎng)成良好的編程習(xí)慣
①掌握單片機(jī)C語(yǔ)言基礎(chǔ)
C語(yǔ)言是單片機(jī)程序開發(fā)的基礎(chǔ),所以單片機(jī)開發(fā)首先要學(xué)習(xí)單片機(jī)C語(yǔ)言基礎(chǔ)。關(guān)于C語(yǔ)言開發(fā)必須要掌握的知識(shí)點(diǎn)如下所示:
這塊入門的系統(tǒng)教程可以到無(wú)際單片機(jī)編程拿,很多零基礎(chǔ)的看了反饋都還不錯(cuò)。
②層次分明,大括號(hào)對(duì)應(yīng)
1).大括號(hào)需要一一對(duì)應(yīng)
2).被包含的大括號(hào)內(nèi)的程序需要右移一個(gè)tab按鍵字符
3).如藍(lán)色框,同一個(gè)括號(hào)內(nèi)的程序需要左對(duì)齊書寫
程序開發(fā)邏輯一定要分明,這樣不僅方便我們閱讀程序代碼,也方便我們查找代碼程序的錯(cuò)誤和警告
④統(tǒng)一的變量定義格式
在C語(yǔ)言編程種,雖然對(duì)變量的名詞,函數(shù)名,端口的定義沒有嚴(yán)格的要求,但我們?cè)诔绦蚍N的變量名稱,函數(shù)名的格式要盡量統(tǒng)一。
1).變量的定義:?習(xí)慣變量的頭字母大寫,后面字母小寫,變量的名稱盡量和對(duì)應(yīng)的英文字母一致
例如:unsigned char KeyState;/// 按鍵的狀態(tài)
2).端口的定義:?端口定義,名稱全部大寫??
例如:sbit LED1 = P3^0;? //定義LED1對(duì)應(yīng)的IO是P3.0
3).函數(shù)名的書寫:
函數(shù)的名稱一般根據(jù)函數(shù)的功能來(lái)定義的,方便大家閱讀,如下:
⑤增加規(guī)范的程序備注說(shuō)明。
對(duì)功能比較重要,邏輯較復(fù)雜的函數(shù),我們一定要做好程序的備注說(shuō)明,這不僅方便別人閱讀,也方便自己查看,自己寫的程序放的時(shí)間太久了也容易忘記。
總結(jié)
以上是生活随笔為你收集整理的单片机初学者编程经常会碰到的问题及处理办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【免费分享】[哈佛极简经济学]
- 下一篇: 上拉下拉复位SMBus