『壹』 會不會有可能程序跑飛了,但是中斷還能正常運行
當然會發生這種事。一般用硬體看門狗+軟體喂狗來實現跑飛控制,然後在程序初始化裡面進行是冷啟動還是熱啟動判斷,如果是熱啟動,則僅對一些寄存器進行初始化,否則全面初始化。我一般將一個定時器的中斷優先順序設置為最高,利用該定時器定時查看程序運行位置變數,如果發現該變數異常,則直接將返回地址指向0000,也即重啟。
『貳』 在iar軟體中運行c語言到return的時候會跑飛怎麼回事
軟體不穩定
~
~
~
~
『叄』 AVR 單片機如何防止程序跑飛
1、硬體是基礎,電路和PCB設計首先要過關。
2、軟體結構性要嚴謹,不應該存在臨界問題,數據溢出,邊界條件等問題。
3、合理使用硬體看門狗,必須保證主函數和中斷函數實現互鎖,一旦互鎖狀態被打斷,則應該觸發硬體看門狗的救助動作。
『肆』 單片機跑飛的原因有哪些硬體的、軟體的、以及怎樣防止這種事情的發生
單片機程序運行的原理是通過寄存器狀態的設置來控制單片機內部以及埠的各個管腳的邏輯狀態,來實現預期邏輯功能的目的。
而這所有的功能是通過邏輯單元的0-1電平來實現的,這些邏輯可能被外界的電磁干擾或者內部本身邏輯結構的問題,使得出現了一個不可控的邏輯狀態,這是單片機會出現很多預料之外的狀態,這是我們就說單片機」跑飛了「。
而防止這種狀態的出現就是加入「看門狗」機制,也就是說,單片機在運行中,我使用一個定時器,定時器不斷的遞增,如果程序運行正常,我會在一段時間內(定時器溢出之前)將其清空,也就是說,只要程序運行正常,這個定時器永遠也不會溢出。但,如果程序跑飛了,進入了不可控的狀態,則程序不會運行到清空定時器這個命令上來,這是,我強行將單片機重啟,使單片機恢復初始狀態
『伍』 51單片機程序跑飛什麼意思怎麼解決
程序跑飛就是程序執行錯誤,程序不知道運行到哪裡,這就需要設定標志位,尋找跑飛的地方,再改
『陸』 stm8程序跑飛了,如何檢測是什麼原因導致的 可以通過軟體中斷看出跑飛之前執行了什麼操作嗎
你指的跑飛是什麼概念,是你所有的程序都不執行了嗎。你可以簡單的寫個按鍵啊或者小燈程序測試下,是否內存溢出還是有別的地方有問題,如果全不行,就是試試你的硬體,電壓啊,還有干擾等等造成的
『柒』 簡述嵌入式系統中的工作程序跑飛的查檢方法,在硬體上最簡單要提供什麼功能電路
可以在軟體里設定軟看門狗,比如設一個返回值,硬體上如果有硬體看門狗更好。
『捌』 請問軟體上什麼因素會導致單片機跑飛忽略硬體因素。
其實 不一定是 程序 跑飛,單片機運行程序 本身 會跳來跳去的,如執行 子程序、子程序返回,
中斷程序、中斷返回 等等,
如果 程序 沒有按照 預期的 設計思路走,因素很多,
程序編譯時keil沒有報錯,只要語法正確就能通過,
有經驗的編程人員也會碰到 想像不到的問題的,
有問題 只能 反復查看程序。
『玖』 單片機程序跑飛問題
用看門狗,跑飛了一回重新啟動,干擾把電源做好一點,濾波做好一點,如果有必要可以加個金屬屏蔽罩之類的,單片機選擇抗干擾性能好點的,比如AVR,STC這些,根據對C8051F系列的抗干擾測試,這單片機不適合在干擾大的地方使用,其他430單片機沒測試過,還不知道抗干擾怎麼樣。謝謝
『拾』 為什麼對EEPROM進行連續寫操作時程序會跑飛
1、WP管腳確實在寫入中保持了低電平嗎?
2、時鍾頻率確實低於400KHz嗎?
3、每次寫入都等待了器件的/ACK嗎?
4、確實排除了軟體因素?檢驗寫入機制的讀取操作是否也正確?電源無異常?中斷是否非法?
5、換一片,或換FM24W256再試試。
靜候佳音,答案期待中……