STM32 CubeMX PWM两种模式(HAL库)
一、互补对称输出
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 占空比
文章来源:https://www.toymoban.com/news/detail-763362.html
总结
以上就是今天要讲的内容,本文仅仅简单介绍了PWM的使用,而PWM提供了大量能使我们快速便捷地处理数据的函数和方法。文章来源地址https://www.toymoban.com/news/detail-763362.html
到了这里,关于STM32 CubeMX PWM三种模式(互补,死区互补,普通)(HAL库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!