久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6145|回復: 1
收起左側

如何防止程序跑飛

[復制鏈接]
ID:18193 發表于 2009-10-20 13:14 | 顯示全部樓層 |閱讀模式
有誰知道,幫忙告訴小弟。
回復

使用道具 舉報

ID:149764 發表于 2017-4-1 16:23 | 顯示全部樓層
  1. 意外中斷。是否打開了某個中斷,但是沒有響應和清除中端標志,導致程序一直進入中斷,造成死機假象     2. 中斷變量處理不妥。若定義某些會在中斷中修改的全局變量,這時要注意兩個問題:首先為了防止編譯器優化中斷變量,要在這些變量定義時前加volatile,其次在主循環中讀取中斷變量前應該首先關閉全局中斷,防止讀到一半被中斷給修改了,讀完之后再打開全局中斷;否則出現造成數據亂套。     3. 地址溢出,常見錯誤為指針操作錯誤。我要著重說的是數組下標使用循環函數中循環變量,如果循環變量沒控制好則會出現數組下標越界,意外修改系統的寄存器造成死機,這種情況下如果死機說明運氣好,否則后面不知道發生什么頭疼的事。     4. 無條件的死循環;比如使用while(x);等待電平變化,正常情況下x都會變成0,就怕萬一,因此最好加上時間限制;     5. 看門狗沒有關閉。有的單片機即使沒使用看門狗開機時也有可能意外自動開啟了最小周期的看門狗,導致軟件不斷復位,造成死機,這個要看芯片手冊,最好在程序復位后首先應該顯式清除看門狗再關閉看門狗;     6. 堆棧溢出。最難查找的問題,對于容量小的單片機,盡量減少函數調用層級,減少局部變量,從而減少壓棧的時候所需的空間。
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品一区二区三区 | 男女在线视频 | 高清免费视频日本 | 国产视频导航 | 成人免费公开视频 | 日韩二区三区 | 不卡的av在线 | 逼逼操 | 亚洲高清毛片一区二区 | 国产激情网站 | 国产精品福利在线 | 欧美一级视频在线观看 | 我想看毛片 | 亚洲狠狠干 | 久久动态图| 国产成人影视 | 欧美精品在线免费观看 | 国产精品免费人成网站酒店 | 久久视频免费在线观看 | 国产欧美日韩一区二区三区 | 国产极品国产极品 | 欧美精品一级片 | 久久精品视频一区二区 | 夜夜嗷| 91在线观 | 亚洲一区中文 | 免费观看全黄做爰视频 | 一本色道久久综合亚洲精品酒店 | 我要看一级黄色片 | 免费国产视频 | 日韩小视频 | 黄色国产片 | 亚洲一区二区三区视频 | 99精品欧美一区二区蜜桃免费 | 青青草国产在线视频 | 国产美女网站 | 国产三级在线免费观看 | 久久青| 国产一区二区三区在线观看视频 | 欧美成人一级片 | 久久人体 |