CH573遇到的中斷的奇葩問題

有個問題,有時候中斷函數(shù)修改后,發(fā)現(xiàn)程序無法運行。經(jīng)過研究發(fā)現(xiàn),原來正常的程序,只是在中斷程序的任意位置加上nop()語句,就不正常。

而且,更奇葩的是,加上nop()的個數(shù)為偶數(shù),就正常,而奇數(shù)就不能運行。

然后我試試使用__attribute__((aligned(x))))將中斷函數(shù)進行地址對齊,發(fā)現(xiàn)也能影響MCU的運行。

這個不能運行是指MCU上電后,不斷復(fù)位。

請問下技術(shù)人員,這個問題是怎么回事,怎么避免?

image.png
我測了,編譯運行沒什么區(qū)別。


中斷函數(shù)是在代碼數(shù)量多到一定程度才有這種狀況。

我寫中斷函數(shù)的有40行代碼。


這個跟量多量少沒什么必然的聯(lián)系,理論上翻譯到底層都是指令。
中斷代碼長,建議可以整理一下中斷的執(zhí)行邏輯,看看是不是有漏洞。還有如果使用Tmos,也要考慮中斷對于Tmos任務(wù)的影響。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频