Browsing this Thread:
1 Anonymous Users
|
MCU會異常RESET
|
|
中級會員
Joined
: 2004/11/29 11:19 最後登入時間
: 2016/5/12 9:13
Group:
註冊會員
Level : 6 HP : 0 / 129 MP : 18 / 7544 EXP : 19
|
各位高手大大,小弟使用MicroChip的MCU 18F8722@40MHZ,開發環境是使用 MPLAB 7.20版 Compiler 為C18 2.40版以ICD2做 DEBUG,目前小弟的程式已寫到約 75% 到 目前為止在 Debug 時陸續發生一些很難 克服的問題:如下
#pragma code _entry_scn=0x000000 void _entry (void) { _asm goto _startup <---PC 停在這兒 _endasm } #pragma code _startup_scn
1.以上程式是C18自行產生的CODE,在程式 一開始時,PC會停在 "goto _startup" 的地方,當我按下"GO"時ICD2會全速執 行程式,這點沒問題;但是問題是發生 在當程式執行到某時段時(不定期的), PC會 RESET 從頭 "goto _startup"的 地重來,且更奇怪的是它大多會停在這 個地方(但也有少數會再繼續執行下去) ;理論上即使程式有問題造成RESET,那 也必須從RESET(goto _startup)"持續" 地執行下去,不可停下來,但為何會這 樣實在令人不解,小弟確定已拿掉所有 的BRAKE POINT了。 2.小弟的configure 值為: Power up timer : Disable Watch dog timer : Disable Brown OUT Detect : Enable Brown OUT Voltage: 2.0V 在reset發生時感覺有點像Brown OUT但 即使小弟將Brown OUT Detect設為關閉 "Disable"依然會有Reset的產生,再者 小弟使用示波器測量MCU的VDD電壓,雖 然有發現在某一時間電源由5V掉到4.1V 但卻沒有產生Reset,且會發生Reset的 時機大部份都是在電源很穩定的時段, 故排除電源不穩的因素。 3.Stack Overflow Reset 小弟設為Enable 原本一度懷疑這個部份,但在DEBUG中發 現STACK BUFFER 小弟設為256應該夠用, 且也沒有發生溢位的情況,再者小弟將 Stack Overflow Reset 設為Disable, 而Reset的情形依舊會發生。 4. 檢查RCON中斷產生暫存器,其值為 "10001100" 自始至終都沒有異狀,尤其 是在 RESET 發生停下來時。 5. 最令小弟不解的是:小弟在CODING某段程 式後這種RESET的情況才開始發生,且發 現使用函數名稱"Playing_LOOP_Check()" 時 Comliper 都ok 但執行起來卻有時會 造成 Reset,小弟試著更改函數名稱為 其它的名字後,Reset的情況居然大大降 低甚至不再發生…但在往後coding新加程式 功能後 Reset的情況又再度出現了… 不知有那位高手大大們曾經遇到這種情況 或是高手們有沒有方法幫幫小弟解這難題 ,感激不盡!謝謝!
發表於: 2005/11/22 10:36
|
|
You can view topic.
你 不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.