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

Posted smilingfrog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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都不行

 

以上是关于STM32工程编译后TIM1时钟变慢的解决的主要内容,如果未能解决你的问题,请参考以下文章

stm32在stop模式下唤醒后主频变慢,如何解决

STM32Cube基础工程配置

利用STM32CubeMX来生成USB_HID_Mouse工程

STM32Cubemx——外部中断

STM32Cubemx——定时器中断

[Oracle维护工程师手记系列]一次升级后运行变慢的分析