最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

STM32 KEIL if滿足條件卻無法進(jìn)入

2022-12-28 15:30 作者:m蛋蛋發(fā)番茄  | 我要投稿

????今天調(diào)試的時候發(fā)現(xiàn)一個很不能理解的事情,if語句滿足條件卻無法進(jìn)入,目前已經(jīng)成功解決,在這里自己記錄一下,也希望能夠幫助更多的同學(xué)。

可以看到標(biāo)志位已經(jīng)置1了,一直運(yùn)行卻無法進(jìn)入if語句里

通過分析最上面的匯編,發(fā)現(xiàn)沒有執(zhí)行判斷。個人猜測:應(yīng)該是編譯器認(rèn)為此處是死循環(huán),沒有考慮中斷置1的情況給優(yōu)化了,這里給出兩種解決方法,推薦使用第二種。

解決方法1(不推薦):

設(shè)置完后,重新編譯整個工程文件
可見調(diào)小優(yōu)化,匯編正常,程序能夠正常進(jìn)入if內(nèi)部

????用此方法的話,把代碼發(fā)給其他人進(jìn)行編譯,就需要別人也要對編譯器進(jìn)行同樣的設(shè)置,才不會出現(xiàn)這樣的問題。

解決方法2:

????所用變量定義時加入關(guān)鍵字:volatile

????

增加了關(guān)鍵字 volatile

????重新編譯并燒錄進(jìn)ARM發(fā)現(xiàn)能夠正常執(zhí)行程序,解決完問題了。

????有更好的解決方法也可以進(jìn)行交流討論。

STM32 KEIL if滿足條件卻無法進(jìn)入的評論 (共 條)

分享到微博請遵守國家法律
高雄县| 德州市| 定陶县| 贵定县| 延庆县| 怀仁县| 清河县| 沽源县| 北京市| 武川县| 高尔夫| 岐山县| 黄骅市| 香港 | 库尔勒市| 门头沟区| 昌邑市| 长沙县| 吉安市| 阜新市| 栾城县| 祥云县| 巨野县| 四川省| 明光市| 新建县| 新沂市| 布尔津县| 马山县| 建始县| 武乡县| 平果县| 二连浩特市| 云龙县| 文成县| 开阳县| 宾阳县| 丰台区| 丁青县| 临城县| 德清县|