前兩日調試EXTI 中斷程序,程序很簡單抄了網上的范例,起初調試正常,可以正常運行,但我在程序中加入另外的代碼后問題出現,表現為中斷莫名其妙的開始響應!檢查自己的程序,未發現異常,中斷部分的設置也沒有為題。逐步屏蔽后加入的代碼,依據屏蔽的代碼不同,單步運行后從不同的位置跳入中斷。怪哉怪哉....反復調試若干遍,花費時間2天有余...
百思不得其解之際,又檢查了自己的板子,看到BOOT1懸空,心中一動,當初圖省事,空了此腳,難不成問題在此?
找了調帽裝上,一切正常,吐血....
.....(心里活動省略200字)
原來
雖然boot0置0了,但是boot1還是不能懸空的呀!
---------------------------------------------------
另外一個小技巧:調試程序后進入中斷,未清除中斷退出debug模式,再次debug的時候因為iar 5.20 debug 的復位功能并未自動清除中斷,所以此時程序會自行進入中斷,對調試造成困擾,解決方法是在main中第一句就放入中斷清除語句。運行 復位 運行 就正常了,就不用再手動去按板子上的reset了。