今天在使用mdk編寫stm32f103的程序的時候,寫了幾個嵌套的if判斷,但是在運行程序的時候出現了一些問題,用仿真器進行仿真的時候有幾條指令不能運行,總是調過這些指令執行別的。通過自己的查找,最終找到了帶來這種錯誤的來源, 對於代碼的優化級別太高了
在設置中選擇上圖中的優化級別,原先設置的優化級別是-O3,一些代碼在進行優化的時候被精簡掉了,通過修改這個等級爲-O0,就可以執行你編寫的每條代碼了,這個在進行仿真調試的時候最好是使用低優先級 ,而最終下載程序到單片機中運行的時候可以選擇高優先級,這樣既能保證程序運行沒有錯誤,又能最終實現一個高效的代碼運行~
其中遇到的問題,在此小記一下^.^