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信号过程中不需要用到中断所以不需要编写。。。。。。

相关推荐
不悔哥2 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20162 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子2 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡2 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5552 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡3 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9663 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛3 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅3 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员3 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程