女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-08-04 17:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

1、意外中斷

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

2、中斷變量處理不妥

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

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

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

4、無條件的死循環

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

5、看門狗沒有關閉

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

6、堆棧溢出

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

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

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

    關注

    6067

    文章

    44991

    瀏覽量

    650423
  • 數組
    +關注

    關注

    1

    文章

    420

    瀏覽量

    26542

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STC單片機范例程序

    電子發燒友網站提供《STC單片機范例程序.zip》資料免費下載
    發表于 06-04 16:27 ?4次下載

    單片機各種復位電路原理

    使用哪種類型的單片機,總要涉及到單片機復位電路的設計。而單片機復位電路設計的好壞,直接影響到整個系統工作的可靠性。許多用戶在設計完單片機系統,并在實驗室調試成功后,在現場卻出現了“
    發表于 05-30 16:53

    晶振受到電磁干擾對單片機的影響

    單片機可以正常運行的一個因素就是晶振的穩定性。在工作過程中,晶振可能會受到電磁干擾的影響,導致單片機發生故障,甚至出現死機的情況。
    的頭像 發表于 03-20 18:01 ?645次閱讀

    單片機怎么寫入程序

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

    單片機不工作的原因

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

    單片機異常復位的原因

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

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

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

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

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

    keil可以讀出單片機程序

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

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

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

    單片機燒錄程序可以重新燒嗎

    單片機(Microcontroller Unit, MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設備。單片機燒錄程序是指將編寫
    的頭像 發表于 09-02 10:04 ?3136次閱讀

    單片機燒錄程序時為什么一直在檢測

    單片機燒錄程序時,如果軟件一直在顯示“正在檢測單片機”,可能是由多種原因導致的。以下是一些常見的原因及其解決方法: 1. 連接問題 USB轉
    的頭像 發表于 09-02 09:57 ?8087次閱讀

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

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

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

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

    stm32單片機燒錄程序會擦除原來的程序

    在STM32單片機燒錄程序的過程中, 通常情況下會擦除原來的程序 ,并將新程序寫入單片機的閃存(Flash)中。這一過程是通過燒錄工具(如S
    的頭像 發表于 09-02 09:42 ?4695次閱讀