在调试定时器相关代码时,注意到定时器的中断位总是置1,怀疑代码有问题,经过增大定时器的中断时间,发现定时器与代码调试并不同步,这一点对于调试涉及定时器的代码是非常不利的,这里给出keil调试stm32使定时器与代码同步的设置方法
首先检查c/c++页面system viewer file是否使用,如果没有,在keil安装文件夹里搜索STM32F103xx.SFR,复制路径

点击下面的use custom SVD file ,然后点击文件选择,粘贴路径进入,选择调试的芯片,这里使用的使stm32f103,所以选择STM32F103xx.SFR,保存后重启keil,

然后进入调试(DEBUG),点击Peripherals -> System Viewer -> DBG,选择并勾选要同步的定时器即可
