STM32的hal库 定时器刹车配置
程序员文章站
2022-04-01 22:04:11
...
最近小编在调试STM32的hal库,TIM1波形刹车控制在此做以下几点总结,如有问题在相互交流谢谢!
1、用cube配置TIM1定时配置PWM输出,使能定时器自动重载,刹车自动恢复:
2、程序:
uint16_t dutyCycle = 1;
uint16_t test_value[5];
uint16_t pwmStartUp =0;
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim1); //使能TIM1
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); //使能PWM通道1
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2); //使能PWM通道2
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
if(test_value[0] != dutyCycle) //修改移相值
{
test_value[0] = dutyCycle;
test_value[1] ++;
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, dutyCycle); //通道移相
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, dutyCycle); //通道移相
}
else if(pwmStartUp != 0) //启动PWM输出
{
pwmStartUp = 0;
dutyCycle = 1; //设置最小值
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, dutyCycle); //通道移相
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, dutyCycle); //通道移相
HAL_TIM_Base_Start(&htim1); //使能TIM1
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); //使能PWM通道1
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2); //使能PWM通道2
}
test_value[4] ++;
HAL_Delay(200);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
3、仿真波形
链接:https://pan.baidu.com/s/1c9okZYu2RS1zVWffGWlIiw
提取码:oblt
上一篇: 对SDRAM的理解总结
下一篇: Uboot23之uart初始化
推荐阅读
-
STM32 HAL库中串口空闲中断+DMA 实现串口数据的不定长接收
-
STM32单片机定时器编码器模式以及定时器的外部触发模式配置的配置
-
《嵌入式-STM32开发指南》第二部分 基础篇 - 第4章 定时器(HAL库)
-
STM32CUBEMX F103 HAL库开发 两路定时器的Encoder编码器模式
-
STM32:HAL库使用定时器作为Systick时钟的方法
-
【STM32】STM32CUBEMX系列教程:HAL库方式的微秒延时函数
-
(HAL库学习6)STM32CubeMX HAL库 定时器的使用
-
stm32串口助手打印按键按下时间长短的stm32cubemx_HAL库配置过程
-
STM32单片机利用软件定时器实现分时多任务(使用HAL库编写)
-
STM32 HAL库 CUBEMX 定时器双通道 高精度捕获PWM波