今天在做RM选手端的界面ui时发现在不同条件时ui始终不变,无法根据我的判断条件进行切换。进入Debug后给我两个条件下的发送函数打断点,发现无论条件成立与否,断点都只停在else条件中。
如图,条件=1成立,但无法中断。
查阅资料后发现可能是keil的编译器优化导致,解决方法是将编译器版本改为5.06,同时降低编译器优化等级。
解决方法
一、将编译器版本改为5.06
二、降低编译器优化等级
可将等级降低,如果降低等级后出现单片机无法运行的情况请选择其他等级,2~0可以依次尝试。我使用Level 0时单片机无法运行,切换至Level 2(-O2)解决。