一.Debug时程序时间不对解决办法:
1.点击魔术棒
2.点击Debug,点击Settings
3.点击Trace,在Core Clock里修改为你的系统时钟
二.Debug时定时器中断每次进入断点时间不对:
在Debug时,程序停下来,定时器的计数器可能会未停下来(实际上还有其他外设也会出现该现象),从而导致每次进入中断内断点的时间不正确
这里有两种解决途径(以定时器3为例):
1.定时器初始化后添加
MX_TIM3_Init();//定时器3初始化
/* USER CODE BEGIN 2 */
__HAL_DBGMCU_FREEZE_TIM3();//调试停下来时,切断定时器3的计数器的时钟,同时关闭定时器3的输出
2.进入Debug模式,点击Peripherals -> System Viewer -> DBG
找到相应的外设,勾选
这里勾选上哪个寄存器就是将寄存器的对应位给置高,未勾选即代表置低
三.定时器一开启就进入中断的解决办法:
在开启定时器中断前把定时器更新标志位置低
TIM3->SR=TIM3->SR&0xfffffffe;//置低定时器3的UIF
HAL_TIM_Base_Start_IT(&htim3);//开启定时器3中断