国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 單片機C語言易錯知識點

單片機C語言易錯知識點

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:5

在進行單片機開發(fā)時,經常都會出現一些很不起眼的問題,這些問題其實都是很基礎的c語言知識點,是一些小細節(jié)。但是正是因為很基礎,又都是小細節(jié),所以我們往往容易忽視它們。結果有時候我們會花很長的時間糾結一個問題,遲遲找不到問題的所在。當發(fā)現原因竟然是這么的簡單和不起眼時,我想不單是我,大家都會感到痛不欲生。筆者今天又碰到了這樣的問題,實在忍不住了。因為這些問題都是小的知識點,考慮到之前也遇到好多這種問題,于是決定每次遇到問題就記錄下來,時刻提醒自己。

1. !和 ~ 不一樣

! 是邏輯非符號,~ 是位取反符號。

對IO口某個管腳賦值時不要錯用 !,如

2.<<和>>的優(yōu)先級低于+、-

比如要實現c=x*2+1,沒有加括號會出錯

3.移位要防止溢出

其實用移位代替乘除法是個不錯的方法,筆者很喜歡拿到一段代碼后用移位代替乘除法來進行優(yōu)化。不過有時候卻會出現問題,比如溢出問題。當很明顯可能溢出的話我們是會注意的,比如

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


5.局部變量要初始化
局部變量沒有初始化的話,因為單片機每次為他分配的是同一個內存區(qū)域,當你在函數中是這么使用局部變量時,就可能出問題:

如果第一次調用fun時,a傳遞的值為0,那么flag = 0x01;執(zhí)行if(flag&0x01)后面的代碼。以后再調用fun時,即使a不為0,但flag依然使用之前的內存區(qū)域,所以其值一直為0x01,一直執(zhí)行的是if后面的代碼,而不是else后面的。

如果要避免這個錯誤,平時要養(yǎng)成對局部變量初始化的習慣。

編輯:admin  最后修改時間:2018-05-08

聯系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

中国少妇精品偷拍视频| 欧美日韩一区二区综合| 欧美日韩一区二区综合| 日本午夜精品视频在线观看| 日本大学生精油按摩在线观看| 日韩成人h视频在线观看| 亚洲欧美日韩综合在线成成| 欧美国产日韩在线综合| 日韩黄色大片免费在线| 国产日韩欧美在线播放| 亚洲最新的黄色录像在线| 丰满少妇被粗大猛烈进出视频| 美女被后入福利在线观看| 国产色第一区不卡高清| 青青久久亚洲婷婷中文网 | 精品少妇人妻av一区二区蜜桃| 国产精品涩涩成人一区二区三区| 日本一区二区三区久久娇喘| 大香蕉伊人精品在线观看| 少妇人妻无一区二区三区| 福利视频一区二区三区| 五月天丁香亚洲综合网| 大香蕉网国产在线观看av| 国产欧美韩日一区二区三区| 99久久婷婷国产亚洲综合精品| 国产免费观看一区二区| 欧洲日本亚洲一区二区| 欧洲一区二区三区自拍天堂| 激情丁香激情五月婷婷| 日韩精品中文字幕在线视频| 色欧美一区二区三区在线| 开心久久综合激情五月天| 中文文精品字幕一区二区| 日本和亚洲的香蕉视频| 亚洲欧美一二区日韩高清在线| 不卡免费成人日韩精品| 九九热九九热九九热九九热| 绝望的校花花间淫事2| 老司机精品视频免费入口| 人人爽夜夜爽夜夜爽精品视频| 国产精品制服丝袜美腿丝袜|