基于HAL库的STM32定时器单脉冲控制

Posted zjx123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于HAL库的STM32定时器单脉冲控制相关的知识,希望对你有一定的参考价值。

这里的单脉冲控制是指在PWM下产生指定个数的脉冲。

先在CubeMx中按照PWM进行配置。

 

定义一个变量表示脉冲个数。

uint8_t PWMnum = 5;

 

开启PWM中断。

HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_1);

 

定义脉冲完成回调函数。    uint8_t cnt = 0;

void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{

     if(htim->Instance == htim1.Instance) 
{
cnt++; if(cnt == PWMnum)
{
HAL_TIM_PWM_Stop_IT(&htim1, TIM_CHANNEL_1); PWMnum = 0; cnt = 0; } } }

 

通过设置PWMnum即可控制输出脉冲数量。

以上是关于基于HAL库的STM32定时器单脉冲控制的主要内容,如果未能解决你的问题,请参考以下文章

一个基于STM32F429 HAL库的学习工程模板

stm32 如何产生秒脉冲中断

STM32 HAL库的定时器中断回调函数跟串口中断回调函数

正点原子STM32(基于HAL库)3

STM32基于HAL库的中断详细学习

STM32F4 HAL库开发 -- 新建基于 HAL 库的工程模板