精品国产一区在线_av无码中文字幕无码王_天海翼三点刺激高潮不停_好硬好大好爽视频_欧美高清一区三区在线专区_香蕉黄色片

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

MCU編寫程序要注重效率和穩定及可靠性

http://blog.21ic.com/more.asp?name=hotpower&id=31019

HotPower 發表于 2006-10-22 22:27 侃單片機 ←返回版面   舉報該貼

最近看了很多的研究生編的程序很是"難受"~~~

例:

count ++;

if (count == 128) count = 0;

粗看上去沒任何問題.但在MCU/DSP/ARM的編程中就大不相同了.

這在PC中沒問題,但在工業現場問題就來了.

大家都知道可能在出現干擾時,RAM是會"被改寫"的.

假如count是個long型的或即使是char型的.

令count初值=0,那么在count在128前有可能被改寫為大于128的值.

這樣將會帶來不可預測的后果,最簡單的就是數組的溢出或延時控制設備不能被及時關閉...

再者,在有流水線的CPU中,jmp/call等改變PC的操作都會破壞流水線,這樣就降低了程序運行的效率.

故應該這樣改為好(防止數組的溢出時常用):

count ++;

count &= 0x7f;

若在滿足條件且需處理其他事件或任務時,則必須使用這樣的語句.

但也要這樣改為好:

count ++;

if (count >= 128) {

/*-----在此處理其他事件或任務*/

  count = 0;

}

注意這里將==改為>=了.

改動雖小,但可靠性提高了很多.特別在防止數組的溢出時很有必要.

像ARM/DSP經常在RAM中運行,代碼和數據是"粘連"的,RAM"數據"的毀壞難道

RAM"程序"能有好日子過嗎???

所以要從"小事"做起,不要以后老"跪求bug"~~~




http://hotpower.21ic.org
全部回復(3)
正序查看
倒序查看
wayhe
LV.4
2
2006-10-26 00:12
好貼,頂一下.
0
回復
hotpower
LV.5
3
2006-10-26 00:20
@wayhe
好貼,頂一下.
0
回復
金狐貍
LV.3
4
2006-11-14 20:52
@hotpower
哈哈~~~這里真不是學習MCU的地方~~~http://www.daxia.com/bbs/search2.asp?word=hotpower&sele=2http://bbs.21ic.com/club/bbs/ShowAnnounce.asp?id=2302245
支持一下,講的很不錯的,學習了.
0
回復
主站蜘蛛池模板: 日本久久网 | 99re这里都是精品 | 91精产国品一二三产区 | 亚洲玉足av久久影视 | 98k网站毛片成年女人网站 | 亚洲中文字慕日产2021 | 中文字幕乱码人妻系列 | 中国极品少妇 | 欧美三片在线视频观看 | 国产成人精品一区二区色戒 | 污污视频网站在线免费观看 | 日韩中文在线观看 | 国产手机视频在线观看 | 超高清日韩aⅴ大片美女图片 | 日本熟妇丰满XXXXX18 | 蒂法黄网站羞羞 | 亚洲精品偷拍影视在线观看 | 玩两个有奶水的少妇 | 双乳奶水被老汉吸呻吟视频 | 亚洲第一a亚洲 | 亚洲系列第一页 | 国产精品一区二区三区www | 写真片福利视频在线午夜波多 | 人妻人人妻A乱人伦青椒视频 | 国产亚洲高清视频你懂 | 黄色毛片免费观看 | 欲香欲色天天综合和网 | 揉捏白嫩高耸饱满双乳 | 亚洲欧美V国产蜜芽TV | 斗破苍穹免费在线观看 | 好妈妈免费视频 | 麻豆精品二区 | 拔萝卜视频在线观看 | 人妻人人做人做人人爱 | 国产重口老太与小伙子 | 国产黄色一级 | 色吧在线播放 | 在线观看人成视频免费 | 日韩毛片免费电影 | 亚洲色欲在线播放一区二区三区 | av在线播放www啦啦啦 |