STM32 CubeMX PWM三种模式(HAL库)

STM32 CubeMX PWM两种模式(HAL库)


STM32 CubeMX



一、互补对称输出

STM32 CubeMX设置

开启互补,设置周期500us(频率2Khz);(1/周期=频率)

代码部分

c 复制代码
  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

代码

c 复制代码
 
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设置

代码部分

c 复制代码
   HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		

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

总结

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

相关推荐
DA022112 小时前
系统移植-STM32MP1_TF-A移植
stm32·单片机·系统移植
我叫洋洋15 小时前
[Proteus 和 stm32f103c8t6]的使用控制OLED篇]
c语言·stm32·单片机·嵌入式硬件·蓝桥杯·proteus
yuan1999717 小时前
STM32F103C8T6 串口通信程序实例
stm32·单片机·嵌入式硬件
IT方大同19 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
意法半导体STM3219 小时前
【官方原创】STM32H7双核芯片通过 STlink连接失败问题分析 LAT1654
开发语言·前端·javascript·stm32·单片机·嵌入式硬件
夜星辰202320 小时前
MobaXterm会话窗口详解
嵌入式硬件·ssh·调试串口
BT-BOX20 小时前
第7章《Stm32CubeMX+Proteus仿真入门》--独立按键扫描
stm32·嵌入式硬件·proteus
广药门徒20 小时前
PADS 等长处理方法
嵌入式硬件
zd84510150021 小时前
ESP8266 MQTT连接onenet
stm32·单片机
3壹1 天前
STM32按键检测与上拉电阻详解
c语言·stm32·嵌入式硬件