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提供了大量能使我们快速便捷地处理数据的函数和方法。

相关推荐
月阳羊35 分钟前
【硬件-笔试面试题-95】硬件/电子工程师,笔试面试题(知识点:RC电路中的时间常数)
java·经验分享·单片机·嵌入式硬件·面试
芜狄3 小时前
UCOSIII移植——学习笔记1
笔记·嵌入式硬件·学习·stm32f103rct6·ucosiii实时操作系统
小莞尔4 小时前
【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔4 小时前
【51单片机】【protues仿真】基于51单片机密码锁系统
c语言·stm32·单片机·嵌入式硬件·51单片机
黑不拉几的小白兔4 小时前
stm32教程:USART串口通信
stm32·单片机·嵌入式硬件
sheepwjl6 小时前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译
智者知已应修善业7 小时前
【51单片机单按键控制2个LED循环闪烁】2022-12-7
c语言·经验分享·笔记·嵌入式硬件·51单片机
物随心转8 小时前
ARM的TrustZone
嵌入式硬件
风_峰8 小时前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
田甲8 小时前
【STM32】串口的阻塞、中断、DMA收发
stm32·单片机·嵌入式硬件