STM32L476 LPTIM 定时器使用
大家好:我采用 cubemx 生成 LPTIM1 的代码,但是进不了中断,没找到原因,大家有没有实例可否参考一上,或 cubemd 的配置说明,非常感谢。
我的要求:间隔 5ms 产生一次计数中断,做为普通的定时器使用。目前还没有进入代功耗模式,只是先测试定时器。
void LPTIM1_IRQHandler(void)
{
IO_LED_G_TOOGLE; // 没进到这一步中断
HAL_LPTIM_IRQHandler(&hlptim1);
}
你的其他部分代码呢?兄弟 谢谢回复!
我是直接采用 cubemx 生成的代码,如下,但是不知怎么进去中断:
Cubemx中,也没有看到可以设置定时时间的地方。芯片型号:STM32L476RC
/* LPTIM1 init function */
static void MX_LPTIM1_Init(void)
{
hlptim1.Instance = LPTIM1;
hlptim1.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC;
hlptim1.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1;
hlptim1.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE;
hlptim1.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH;
hlptim1.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE;
hlptim1.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL;
hlptim1.Init.Input1Source = LPTIM_INPUT1SOURCE_GPIO;
hlptim1.Init.Input2Source = LPTIM_INPUT2SOURCE_GPIO;
if (HAL_LPTIM_Init(&hlptim1) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
}
void LPTIM1_IRQHandler(void)
{
IO_LED_G_TOOGLE; // 没进到这一步中断
HAL_LPTIM_IRQHandler(&hlptim1);
}
没看到开启定时器中断的函数啊,建议仿真看寄存器。 论坛的参考,我也是刚看到,楼主参考下https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=603937&fromuid=394920
HAL_TIM_Base_Start_IT(&hlptim1);加上这条语句试试,开启中断 楼主我遇到了同样的问题,请问怎么解决?
页:
[1]