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

相关推荐
酷飞飞39 分钟前
STC8单片机驱动I2C屏幕:实现时间、日期与温湿度显示
单片机·嵌入式硬件·51单片机·嵌入式
源远流长jerry4 小时前
STM32之MCU和GPIO
linux·c++·stm32·单片机·嵌入式硬件
anghost15015 小时前
基于单片机的水果自动收集车
单片机·嵌入式硬件
Ronin-Lotus15 小时前
嵌入式硬件篇---电容本质
嵌入式硬件
STC_USB_CAN_805116 小时前
实战 AI8051U 音视频播放:USART-SPI→DMA-P2P→SPI+I2S 例程详解
单片机·嵌入式硬件·音视频
ShiMetaPi17 小时前
【GM3568JHF】FPGA+ARM异构开发板烧录指南
stm32·单片机·嵌入式硬件
蜡笔小电芯18 小时前
【STM32】STM32H750 CubeMX 配置 USB CDC 虚拟串口笔记
笔记·stm32·嵌入式硬件
yiqiqukanhaiba18 小时前
STM32学习笔记14-I2C硬件控制
笔记·stm32·学习
Ronin-Lotus19 小时前
嵌入式硬件篇---Buck&Boost电路
单片机·嵌入式硬件
清风66666621 小时前
基于STM32F103单片机智能门禁热释人体感应报警设计
单片机·毕业设计·课程设计