STM32 CubeMX PWM三种模式(HAL库)

STM32 CubeMX PWM两种模式(HAL库)


STM32 CubeMX

  • STM32 CubeMX PWM两种模式(HAL库)
  • 一、互补对称输出
    • STM32 CubeMX设置
    • 代码部分
  • 二、带死区互补模式
    • STM32 CubeMX设置
    • 代码
  • 三、普通模式
    • STM32 CubeMX设置
    • 代码部分
  • 总结



一、互补对称输出

STM32 CubeMX设置

开启互补,设置周期500us(频率2Khz);(1/周期=频率)
STM32 CubeMX PWM三种模式(HAL库)_第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 无效

STM32 CubeMX PWM三种模式(HAL库)_第2张图片
实验现象:100/500=0.8;所以输出2Khz80%的占空比互补对称波形
STM32 CubeMX PWM三种模式(HAL库)_第3张图片

二、带死区互补模式

STM32 CubeMX设置

设置死区时间1us
STM32 CubeMX PWM三种模式(HAL库)_第4张图片

代码

STM32 CubeMX PWM三种模式(HAL库)_第5张图片

 
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 PWM三种模式(HAL库)_第6张图片

三、普通模式

STM32 CubeMX设置

STM32 CubeMX PWM三种模式(HAL库)_第7张图片

代码部分

STM32 CubeMX PWM三种模式(HAL库)_第8张图片

   HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		

 
  __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,100);		//设置 PWM 通道1 占空比

STM32 CubeMX PWM三种模式(HAL库)_第9张图片

总结

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

你可能感兴趣的:(STM32,CubeMX,stm32,嵌入式硬件,单片机)