STM32工程编译后TIM1时钟变慢的解决

最近在项目程序上遇到一个很奇怪的现象,TIM1定时器运行后的时钟比配置的运行时钟慢了20多倍,检查代码查不出问题。

上网搜索,很多人都遇到过这个问题,但都没有最终解决。有人给出的解决方案是编译优化的地方默认优化改为level0优化,试过后TIM1时钟正常了,但整个工程运行又出了问题。

也有人给出解决办法TIM_RepetitionCounter = 0,试过后发现无效。

我对几种编译优化进行了组合尝试,最后发现当

选择level(-O1)
勾选Split Load and Store Multiple
勾选One ELF Section per Function

这个优化组合可以使TIM1时钟正常,同时工程功能运行正常。

level选择0或者2都不行

 备注:芯片用了GD的,做了超频

posted @ 2016-05-21 10:46  smilingfrog  阅读(1698)  评论(0编辑  收藏  举报