㈠ 什麼叫單片機的程序「跑飛」
用看門狗,跑飛了一回重新啟動,干擾把電源做好一點,濾波做好一點,如果有必要可以加個金屬屏蔽罩之類的,單片機選擇抗干擾性能好點的,比如avr,stc這些,根據對c8051f系列的抗干擾測試,這單片機不適合在干擾大的地方使用,其他430單片機沒測試過,還不知道抗干擾怎麼樣。謝謝
㈡ 什麼叫程序跑飛
程序跑飛是指系統受到某種干擾後,程序計數器PC的值偏離了給定的唯一變化歷程,導致程序運行偏離正常的運行路徑.程序跑飛因素及後果往往是不可預計的.在很多情況下,程序跑飛後系統會進入死循環而導致死機。
計算機程序(Computer Program),港、台譯做電腦程式。計算機程序是一組計算機能識別和執行的指令,運行於電子計算機上,滿足人們某種需求的信息化工具。
它以某些程序設計語言編寫,運行於某種目標結構體繫上。打個比方,程序就如同以英語(程序設計語言)寫作的文章,要讓一個懂得英語的人(編譯器)同時也會閱讀這篇文章的人(結構體系)來閱讀、理解、標記這篇文章。一般的,以英語文本為基礎的計算機程序要經過編譯、鏈接而成為人難以解讀,但可輕易被計算機所解讀的數字格式,然後放入運行。
程序是一個指令序列。
如果您在一個符合大多數的計算機上,操作系統例如Windows、Linux等,載入並執行很多的程序,在這種情況下,每一個程序是一個單獨的映射,並不是計算機上的所有可執行程序。
它是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可以被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。同一計算機程序的源程序和目標程序為同一作品。
㈢ stm8程序跑飛了,如何檢測是什麼原因導致的 可以通過軟體中斷看出跑飛之前執行了什麼操作嗎
你指的跑飛是什麼概念,是你所有的程序都不執行了嗎。你可以簡單的寫個按鍵啊或者小燈程序測試下,是否內存溢出還是有別的地方有問題,如果全不行,就是試試你的硬體,電壓啊,還有干擾等等造成的
㈣ 單片機程序跑飛怎麼去查找原因呢
對於簡單的錯誤,如果能初步猜測到執行哪個函數後跑飛的,那就可以直接單步調試,看看什麼原因,不外乎指針非法操作,數組越界之類的。
還有一種笨方法,注釋函數,如果注釋函數後bug不再現,那麼就可以按照剛剛說的單步進去這個函數,看看有什麼問題。
更有效的但是也對水平要求更高的方法可以看一下別人的方法。
下面是幾個鏈接,可以看看,學習一下。
記一次STM32中HardFault問題的調試解決
如何找到導致程序出現HardFault
STM32硬體錯誤HardFault_Handler的處理方
定位產生HARD FAULT之前的代碼