日常Debug之:if(false)能运行?智子攻陷了我的MCU!!!

环境:AT32F403AVGT7、IAR8.30、J-LINK

现象:定时器中断里遇到 -1 <= 0 返回false的情况。如图:

日常Debug之:if(false)能运行?智子攻陷了我的MCU!!!_第1张图片

日常Debug之:if(false)能运行?智子攻陷了我的MCU!!!_第2张图片

日常Debug之:if(false)能运行?智子攻陷了我的MCU!!!_第3张图片

 出现了if(-1 > 0){}为True的情况。

尼马!!!是不是被智子监控了呢?

经过分析:发现

文件1.c:

int32_t s32G_HiTick=0;

文件2.c:

extern uint32_t s32G_HiTick;

文件2里的s32G_HiTick还是被认为是unsigned 类型,所以-1在unsigned的情况下是不可能为复数的。

破案了,世界和平依旧。

你可能感兴趣的:(日常BUG,单片机,嵌入式硬件)