[STM32F1] MDK 4.72版本硬件调试BUG

[复制链接]
906|2
 楼主| 13916625369 发表于 2015-11-25 17:27 | 显示全部楼层 |阅读模式
在程序使用传参延时,比如最简单的流水灯程序;

void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
单步执行到延迟里面,第二下计数自减,程序就跑飞,停止。

但是连续跑是没有问题的,这里比较搞笑。

改成
void Delay(__IO uint32_t nCount)
{
while(Count!=0)
  {   Count--;
  }
}

无论单步,全运行都正常,希望小伙伴们注意了。
for循环出错 改为while正常.png
for循环出错.png
mmuuss586 发表于 2015-11-25 17:59 | 显示全部楼层
改成ncont>0;试下
zchong 发表于 2015-11-25 21:23 | 显示全部楼层
看汇编应该能发现点什么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

17

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部