STM32通用定时器产生PWM信号

STM32通用定时器产生PWM信号

本期内容我将展示使用STM32通用定时器产生PWM信号,这里以定时器3通道3为例

PWM信号

如果还不懂的话,可以看看 : "蓝桥杯单片机学习7------PWM脉宽调制&控制LED的亮度" 。

stm32定时器PWM生成模式

PWM配置基本步骤

PWM周期计算

CubeMX配置


其他部分配置这里不做展示

代码展现

c 复制代码
int main(void)
{
  /* USER CODE BEGIN 1 */
//    uint16_t temp = 250;
  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM3_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
   HAL_TIM_Base_Start_IT(&htim3);         //开启定时器3,并打开中断,这里不开启中断也可以
  HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3);    //设置定时器3通道3产生PWM信号
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
   __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_3,250);       //设置CCRX的值,控制占空比为250/500 = 50% 
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

定时器产生PWM信号过程中不需要用到中断所以不需要编写。。。。。。

相关推荐
xiaohai@Linux12 分钟前
ESP32 IDF v5.3.1 驱动 CST816T 触摸芯片(I2C 协议)
单片机·嵌入式硬件·触摸·i2c·cst816t
zd84510150013 分钟前
16bit ADC+DAC模拟量控制板第二方案设计
单片机·嵌入式硬件
星一工作室1 小时前
STM32项目分享:基于stm32的自动升降棋系统
stm32·单片机·嵌入式硬件
up向上up1 小时前
基于STM32温湿度采集Proteus仿真设计
stm32·单片机·proteus
d111111111d3 小时前
江协科技-PID基本原理-(学习笔记)-主页有所有STM32外设的笔记基本都是万字起步。
笔记·科技·stm32·单片机·嵌入式硬件·学习
wotaifuzao3 小时前
Nordic-nRF54L 系列架构全景:从蓝牙 6.0 到超低功耗设计详解
单片机·物联网·硬件架构·蓝牙·nordic
xiaohai@Linux3 小时前
STM32上使用HAL库驱动9针FC手柄实现游戏自由!
stm32·fc游戏手柄
1+2单片机电子设计5 小时前
基于 STM32 的太阳能 MPPT 充电控制器设计
stm32·单片机·嵌入式硬件
Stanford_sun5 小时前
基于Zigbee的无线火灾报警系统(云平台版)
网络·嵌入式硬件·物联网·zigbee
CFZPL5 小时前
espidf用CMake文件构建项目
单片机·esp32