ST意法半导体
直播中

李巍

8年用户 1532经验值
私信 关注
[问答]

如何创建一个计数到50毫秒并且滚动时会生成一个IRQ的计时器

我正在尝试创建一个 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 ....






回帖(1)

刘艳芳

2022-12-8 14:24:10
事实证明,当另一个 FW 人触摸它时,计时器正在以非常慢的速度计时
举报

更多回帖

发帖
×
20
完善资料,
赚取积分