我正在尝试创建一个 50ms 计时器。时钟是 16MHz,我有一个 16 的除数并启用了 NVIC(所有这些都是在 cubeMX 中完成的)。我有以下 ISR
- void HAL_LPtiM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim)
- {
- hlptim1.Instance->ISR |= (LPTIM_ICR_ARRMCF | LPTIM_ICR_CMPMCF);
- }
在 while 1 循环之前,我调用:
- HAL_LPTIM_Counter_Start_IT(&hlptim1, 50000);
在我看来它没有正常工作......在启动时我进入了 ISR 并且计数比它应该的要少......有人可以告诉我我做错了什么吗?这应该很简单,因为我只希望定时器计数到 50 毫秒(使用 16mhz 和 /16)并且每次它滚动时都会生成一个 IRQ ....