STM32 CubeMX PWM两种模式(HAL库)
STM32 CubeMX
- STM32 CubeMX PWM两种模式(HAL库)
 - 一、互补对称输出
 - STM32 CubeMX设置
 - 代码部分
 
- 二、带死区互补模式
 - STM32 CubeMX设置
 - 代码
 
- 三、普通模式
 - STM32 CubeMX设置
 - 代码部分
 
- 总结
 
一、互补对称输出
STM32 CubeMX设置
开启互补,设置周期500us(频率2Khz);(1/周期=频率)
 
代码部分
  HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		
  HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);						//启动 PWM 通道2信号输出		
  HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);				//启动 PWM 通道1 互补信号输出
  HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2);				//启动 PWM 通道2 互补信号输出
 
  __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,100);		//设置 PWM 通道1 占空比
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_2,100);		//设置 PWM 通道2 无效
 

 实验现象:100/500=0.8;所以输出2Khz80%的占空比互补对称波形
 
二、带死区互补模式
STM32 CubeMX设置
设置死区时间1us
 
代码

 
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		
  HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);						//启动 PWM 通道2信号输出		
  HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);				//启动 PWM 通道1 互补信号输出
  HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2);				//启动 PWM 通道2 互补信号输出
 
  __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,50);		//设置 PWM 通道1 占空比
 

三、普通模式
STM32 CubeMX设置

代码部分

   HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		
 
  __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,100);		//设置 PWM 通道1 占空比
 

总结
以上就是今天要讲的内容,本文仅仅简单介绍了PWM的使用,而PWM提供了大量能使我们快速便捷地处理数据的函数和方法。


















![2023年中国塑形内衣市场发展概况分析:五年增长率高达56%,经济与安全兼具的塑身内衣市场不容小觑[图]](https://img-blog.csdnimg.cn/img_convert/feb1790bbe95c02bfb7f1aa681b2be1e.png)
