我是靠谱客的博主 拼搏大白,这篇文章主要介绍STM32CUBEMX配置定时器主从模式,发送指定个数脉冲,驱动步进电机精确启停定时器3做主定时器输出PWM,定时器4做从定时器确定脉宽输出数量,现在分享给大家,希望可以做个参考。

STM32CUBEMX配置定时器主从模式,驱动步进电机精确启停

  • 定时器3做主定时器输出PWM,定时器4做从定时器确定脉宽输出数量

定时器3做主定时器输出PWM,定时器4做从定时器确定脉宽输出数量

先配置一下cubemx主从关系根据这个表来配置

在这里插入图片描述
主定是起TIM3配置

在这里插入图片描述

在这里插入图片描述

从定时器TIM4配置

在这里插入图片描述

在这里插入图片描述
开启定时器中断

在这里插入图片描述
定时器中断回调函数实现

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim==(&htim4))
{

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
if(__HAL_TIM_GET_FLAG(&htim4, TIM_FLAG_CC1) != RESET) { __HAL_TIM_CLEAR_FLAG(&htim4, TIM_FLAG_CC1); HAL_TIM_PWM_Stop_IT(&htim3, TIM_CHANNEL_1); HAL_TIM_Base_Stop_IT(&htim4); } FLAG1_OK = 1; }

}

PWM实现函数传入的是脉冲个数
void Output_Pwm (uint32_t pwmvalue)
{
if(FLAG1_OK == 1 )
{
FLAG1_OK = 0;
__HAL_TIM_SET_AUTORELOAD(&htim4,pwmvalue-1);
HAL_TIM_Base_Start_IT(&htim4);
HAL_TIM_PWM_Start_IT(&htim3, TIM_CHANNEL_1);
}
}

最后放一张实现的效果图

在这里插入图片描述
源代码见下一篇文章
已经经过证实可以实现控制脉冲个数输出,用的是stm32c8t6最小系统板,有什么不对的地方欢迎大家指正,一起探讨更好的解决方案。

最后

以上就是拼搏大白最近收集整理的关于STM32CUBEMX配置定时器主从模式,发送指定个数脉冲,驱动步进电机精确启停定时器3做主定时器输出PWM,定时器4做从定时器确定脉宽输出数量的全部内容,更多相关STM32CUBEMX配置定时器主从模式内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部