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

相关推荐
广药门徒6 分钟前
虚拟机联网20260725
嵌入式硬件
国产化创客1 小时前
Kindle 嵌入式交叉开发环境
嵌入式硬件·智能硬件
szxinmai主板定制专家3 小时前
RK3568+FPGA高速并行采集|半导体探针测试设备多通道同步数据采集系统设计
人工智能·嵌入式硬件·计算机视觉·fpga开发
Dlrb12116 小时前
ARM---I2C协议时序详解以及IMX6ULL使用I2C协议与AT24C02,LM75A芯片通信详解与示例代码
嵌入式硬件·arm·lm75a·i2c协议·at24c02·i2c时序
周洲08308 小时前
STM32独立/窗口看门狗完整配置|防止程序跑飞死机、异常复位
stm32·单片机·嵌入式硬件
论迹复利8 小时前
多平台移植 BTBLE Stack 的思路与踩坑实战——从 Ceva IP 到厂商适配层的迁移指南
嵌入式硬件·物联网·架构
SUNNYSPY0019 小时前
30N03DF-ASEMI扫地机器人主驱动30N03DF
单片机
CPETW9 小时前
企业版配套软件介绍 ---- USB TO SPI_ (Excel)-Microwire
网络·科技·单片机·嵌入式硬件·电子
一个嵌入式学徒9 小时前
LVGL图形库移植STM32
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola10 小时前
伺服电机堵转检测算法详解
单片机·嵌入式硬件·算法