单片机学习小组
直播中

七上八下

8年用户 749经验值
私信 关注

为什么要将Keil的程序优化等级调到0呢

每次程序都会卡在while(timingDelay != 0);这句话里面,而调试仿真发现即便TimingDelay这个变量已经为0,依然跳不出来这个while循环,程序一直死在这里!本以为是我驱动某些地方没有移植好,然后一直从驱动的地方找原因,找了两天,最后实在没辙,突发奇想是否是程序优化等级的原因呢?然后我试着将Keil的程序优化等级调到0,见下图:systick竟然可以跑起来了。原来是TimingDelay这个变量被Keil编译器给优化掉了,导致程序执行出问题!其实只需要将static  ui

更多回帖

发帖
×
20
完善资料,
赚取积分