600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > stm32 HAL库 用PWM更新中断精确控制步进电机步数

stm32 HAL库 用PWM更新中断精确控制步进电机步数

时间:2019-05-10 02:11:56

相关推荐

stm32 HAL库  用PWM更新中断精确控制步进电机步数

目标:用步进电机驱动器驱动42步进电机,并精确控制脉冲个数。

步进电机器如下图:

第一步 STM32CubeMX配置TIM2_CH1,并生成代码。TIM2的NVIC也要打开,如图:

第二步 :在生成的代码合适位置打开或关闭PWM,修改脉冲频率

HAL_TIM_PWM_Start_IT(&htim2, TIM_CHANNEL_1);//开启pwmHAL_TIM_PWM_Stop_IT(&htim2, TIM_CHANNEL_1);//关闭pwmTIM2->PSC=71;//72分频

第三步 :精确控制脉冲个数

重新实现 HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)函数

比如,100个脉冲就停止,如下代码:

void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim){if(htim == &htim2){if(count <100){count++;}else{HAL_TIM_PWM_Stop_IT(&htim2, TIM_CHANNEL_1);count = 0;}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。