色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于單片機程序跑飛死機的原因

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-08-04 17:13 ? 次閱讀

經常接觸單片機的朋友,肯定遇到過單片機程序跑飛的問題。由于程序較為復雜,所以一旦出現跑飛的現象就比較難以查找錯誤出現的地方,網絡上對錯誤的解釋和解決方法也比較五花八門,并不方便查找。小編特意幫大家整理了關于單片機程序跑飛死機的原因,大家快來看看能不能在其中找到自己想要答案吧。

單片機程序死機,跑飛了
可以從以下幾個方面查找原因:

1、意外中斷

是否打開了某個中斷,但是沒有響應和清除中端標志,導致程序一直進入中斷,造成死機假象。

2、中斷變量處理不妥

若定義某些會在中斷中修改的全局變量,這時要注意兩個問題:首先為了防止編譯器優化中斷變量,要在這些變量定義時前加volatile;其次在主循環中讀取中斷變量前應該首先關閉全局中斷,防止讀到一半被中斷給修改了,讀完之后再打開全局中斷,否則出現造成數據亂套。

3、地址溢出,常見錯誤為指針操作錯誤

著重說的是數組下標使用循環函數中循環變量,如果循環變量沒控制好則會出現數組下標越界,意外修改系統的寄存器造成死機,這種情況下如果死機說明運氣好,否則后面不知道發生什么頭疼的事。

4、無條件的死循環

比如使用while(x),等待電平變化,正常情況下x都會變成0,就怕萬一,因此最好加上時間限制。

5、看門狗沒有關閉

有的單片機即使沒使用看門狗開機時也有可能意外自動開啟了最小周期的看門狗,導致軟件不斷復位,造成死機。這個要看芯片手冊,最好在程序復位后首先應該顯式清除看門狗再關閉看門狗。

6、堆棧溢出

最難查找的問題,對于容量小的單片機,盡量減少函數調用層級,減少局部變量,從而減少壓棧的時候所需的空間。當你把以上幾條都試過不能解決問題,試一試把你的被調用少函數直接內置到調用的地方并且把占用RAM大的局部變量改成全局變量,試一試說不定就可以了。

通過本篇文章,大家是否找到了自己想要的問題解決方法了呢?就算沒有找到,本篇文章也能幫助大家在一定程度上預防跑飛現象的發生。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6041

    文章

    44615

    瀏覽量

    637355
  • 數組
    +關注

    關注

    1

    文章

    417

    瀏覽量

    25997

原文標題:單片機程序總跑飛?小技巧幫你忙

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機怎么寫入程序

    程序通常涉及以下幾個步驟: 選擇單片機和開發環境 : 確定項目需求,選擇合適的單片機型號。 安裝相應的開發環境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機連接到開發板或
    的頭像 發表于 10-21 11:21 ?852次閱讀

    單片機不工作的原因

    單片機不工作是一個復雜的問題,可能涉及多個方面的因素。以下是對單片機不工作原因的詳細分析,旨在幫助技術人員或愛好者更好地理解和解決這一問題。
    的頭像 發表于 10-17 18:11 ?1568次閱讀

    單片機異常復位的原因

    單片機異常復位是指單片機在正常工作過程中,非預期地返回到初始狀態或重啟。這種異常復位現象可能由多種因素引起,以下是對單片機異常復位原因的詳細分析:
    的頭像 發表于 10-17 17:56 ?1282次閱讀

    什么原因會導致單片機系統死機

    ______________________________________ 什么原因會導致單片機系統死機
    發表于 10-16 22:32

    什么原因會導致單片機程序

    ______________________________________ 什么原因會導致單片機程序
    發表于 10-16 22:31

    keil可以讀出單片機程序

    Keil是一款廣泛應用于單片機程序開發的軟件,它提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案。然而,關于Keil是否能直接“讀出”單片機
    的頭像 發表于 09-02 10:32 ?1182次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現對
    的頭像 發表于 09-02 10:05 ?1526次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    單片機燒錄原理 單片機燒錄是指將編寫好的程序代碼通過一定的方式傳輸到單片機的存儲器中,使其能夠按照程序的指令運行。這個過程通常需要使用燒錄器
    的頭像 發表于 09-02 09:54 ?591次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機內部的存儲器中,使
    的頭像 發表于 09-02 09:47 ?1326次閱讀

    STM8單片機手一摸單片機死機是怎么回事?

    如題,STM8單片機 用手指一摸單片機死機了,有時還沒接觸到就死機了,關鍵我用的都是汽車級的STM8A系列單片機了怎么抗干擾性怎么還這么差
    發表于 05-07 06:38

    HC32L136 M0+內核在寫FLASH時程序原因

    使用一款華大的HC32L136單片機M0+的內核64k的flash,在0x0-0x8000放入bootloader 在0x8000-0xFFFF放入用戶代碼,在全速 執行用戶代碼中FLASH操作
    發表于 04-18 06:04

    調試FreeRTOS程序,通過IAP升級后程序原因?

    最近調試FreeRTOS程序,發現直接用IAR下載APP后程序運行正常,但是通過IAP升級后卻發現程序(因為是IAP升級,無法調試App
    發表于 04-08 06:25

    單片機Freertos怎么樣?

    單片機Freertos好移植么?參考資料好不好找?
    發表于 03-25 15:22

    STM32F207死機PC原因?怎么解決?

    STM32F207ZET6,使用過程發現有死機,分析了一下過程,是在正常刷屏的過程中觸發了一次ADC的DMA完成中斷,中斷中執行了一些保存數據到對應結構體的任務,然后中斷返回的時候,pc指針
    發表于 03-19 07:04

    AURIX2G系列的單片機多核程序應該怎么配置?

    AURIX2G系列的單片機多核程序應該怎么配置,感覺沒有頭緒
    發表于 02-20 06:15
    主站蜘蛛池模板: 久久婷婷色香五月综合激情| 久久国产欧美| 老师扒开尿口男生摸尿口| 亚洲AV成人无码网天堂| 国产精品久久久久久久人热| 兽皇VIDEO另类HD| 国产乱码精品AAAAAAAA| 香蕉在线播放| 国产在线精品亚洲视频在线| 亚洲 天堂 欧美 日韩 国产| 国产精品视频大全| 亚洲国产成人私人影院| 精品国产自在天天线2019| 云南14学生真实初次破初视频| 久久伊人免费| SM双性精跪趴灌憋尿调教H| 日韩欧美亚洲精品综合在线 | xxxxx69hd杨幂| 色www精品视频在线观看| 国产精品毛片在线视频| 亚洲精品高清视频| 美女18黄| 成年人视频在线免费看| 午夜神器18以下不能进免费| 精品含羞草免费视频观看| 91国内精品久久久久免费影院| 漂亮的保姆3中文版完整版| 国产扒开美女双腿屁股流白浆 | 精品亚洲大全| 99久久99久久久精品齐齐鬼色| 日本撒尿特写| 激情办公室| 99精品久久| 挺进绝色老师的紧窄小肉六| 精品久久日日躁夜夜躁AV| 97国内精品久久久久久久影视| 日本久久频这里精品99| 国内精品久久久久影院亚洲| 97在线精品视频| 午夜在线观看免费观看 视频| 久久超碰色中文字幕|