国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2846|回復(fù): 0
打印 上一主題 下一主題

單片機C語言易錯

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2016-8-18 15:40:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 嵌入式 , 單片機 , C語言 , Linux

單片機C語言易錯知識點,記住它們會讓你事半功倍!

在進行單片機開發(fā)時,經(jīng)常都會出現(xiàn)一些很不起眼的問題,這些問題其實都是很基礎(chǔ)的C語言知識點,是一些小細(xì)節(jié)。

但是正是因為很基礎(chǔ),又都是小細(xì)節(jié),所以我們往往容易忽視它們。結(jié)果有時候我們會花很長的時間糾結(jié)一個問題,遲遲找不到問題的所在。當(dāng)發(fā)現(xiàn)原因竟然是這么的簡單和不起眼時,我想不單是我,大家都會感到痛不欲生。這些問題要記錄下來,時刻提醒自己!!


1、 !和 ~ 不一樣! 是邏輯非符號,~ 是位取反符號。對IO口某個引腳賦值時不要錯用 !如


2、<<和>>的優(yōu)先級低于+、-比如要實現(xiàn)c=x*2+1,沒有加括號會出錯


3、移位要防止溢出其實用移位代替乘除法是個不錯的方法,筆者很喜歡拿到一段代碼后用移位代替乘除法來進行優(yōu)化。不過有時候卻會出現(xiàn)問題,比如溢出問題。當(dāng)很明顯可能溢出的話我們是會注意的,比如但是有時候這個問題是不明顯的,比如當(dāng)移位出現(xiàn)在數(shù)組索引或函數(shù)參數(shù)時,有段用液晶顯示字符的代碼如下
我們可以用左移運算來代替乘法進行優(yōu)化,如
這本是一個好方法,但是事實上上面的代碼是錯的。當(dāng)執(zhí)行c<<4時,因為沒有明顯的賦值過程,我們可能認(rèn)為沒問題,而事實上c的高位已經(jīng)丟失了,所以得到錯誤的結(jié)果。一個可行的做法是先進行強制轉(zhuǎn)換,如

4、無符號數(shù)和有符號數(shù)混合運算都會被強制轉(zhuǎn)換為無符號數(shù)運算當(dāng)一個有符號數(shù)和一個無符號數(shù)進行算術(shù)運算時,系統(tǒng)會自動將有符號數(shù)強制轉(zhuǎn)換為無符號數(shù)再進行運算(即使你使用有符號數(shù)強制類型轉(zhuǎn)換),如下面兩種寫法的運輸結(jié)果是一樣的


5、局部變量要初始化局部變量沒有初始化的話,因為單片機每次為他分配的是同一個內(nèi)存區(qū)域,當(dāng)你在函數(shù)中是這么使用局部變量時,就可能出問題:如果第一次調(diào)用fun時,a傳遞的值為0,那么flag = 0x01;執(zhí)行if(flag&0x01)后面的代碼。以后再調(diào)用fun時,即使a不為0,但flag依然使用之前的內(nèi)存區(qū)域,所以其值一直為0x01,一直執(zhí)行的是if后面的代碼,而不是else后面的。

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 富二代精产国品在线播放 | 四虎最新网址 | 一级毛片在线看 | 黑人和亚洲女人 | 成年女人免费毛片视频永久 | 国产网站免费在线观看 | 国产精品久久99 | 亚洲男人的天堂在线播放 | 99热这里只有精品2 99热这里只有精品18 | 久久久久久久久久久9精品视频 | 日本三级精品 | 国产福利在线观看一区二区 | 日日干日日 | 三a毛片 | 天天久久| 狠狠色丁香婷婷综合视频 | 又粗又大的机巴好爽欧美 | 看特级毛片 | 欧美日韩在线免费看 | 微拍秒拍99福利精品小视频 | 91手机视频在线观看 | 久久精品中文字幕极品 | 欧美国产一区二区 | 四虎影视免费在线观看 | 99热这里只有精品在在 | 午夜资源网 | 男人久久天堂 | 亚洲欧美在线视频免费 | 日韩一级免费毛片 | 免费日韩在线视频 | 在线观看亚洲免费 | 一区二区三区毛片免费 | 久草首页在线 | 欧美日日夜夜 | 国产高清视频青青青在线 | 日本高清视频在线播放 | 国产成人片 | 午夜向日葵在线视频观看下载 | 天堂一区二区三区在线观看 | 日本玖玖 | 麻豆国产视频 |