登录/注册

stm32f103中pwm

更多

在STM32F103微控制器中,PWM(脉宽调制)功能通过其内置的定时器实现(如TIM1-TIM4)。以下是配置和使用PWM的基本步骤及关键概念:


1. 硬件准备


2. 配置步骤

(1) 开启时钟

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);  // 开启定时器时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 开启GPIO时钟

(2) 配置GPIO为PWM输出

GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6;        // 以PA6为例(TIM3_CH1)
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;  // 复用推挽输出
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);

(3) 配置定时器参数

TIM_TimeBaseInitTypeDef TIM_InitStruct;
TIM_InitStruct.TIM_Prescaler = 71;          // 预分频值(72MHz / (71+1) = 1MHz)
TIM_InitStruct.TIM_Period = 999;            // 自动重装载值ARR(PWM频率 = 1MHz / (999+1) = 1kHz)
TIM_InitStruct.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_InitStruct);

(4) 配置PWM模式

TIM_OCInitTypeDef PWM_InitStruct;
PWM_InitStruct.TIM_OCMode = TIM_OCMode_PWM1;    // PWM模式1(CNT < CCR时输出高电平)
PWM_InitStruct.TIM_OutputState = TIM_OutputState_Enable;
PWM_InitStruct.TIM_Pulse = 500;                // 占空比 = 500 / (999+1) = 50%
PWM_InitStruct.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC1Init(TIM3, &PWM_InitStruct);            // 通道1初始化

(5) 启动PWM

TIM_Cmd(TIM3, ENABLE);          // 启动定时器
TIM_CtrlPWMOutputs(TIM3, ENABLE); // 高级定时器(如TIM1)需额外启用

3. 关键参数计算


4. 动态调整占空比

通过修改CCR(捕获/比较寄存器)的值实时调整占空比:

TIM_SetCompare1(TIM3, 200); // 设置通道1的CCR值为200

5. 注意事项


通过以上步骤,可快速在STM32F103中实现PWM输出,适用于控制LED亮度、电机速度等场景。具体引脚和定时器需参考芯片数据手册。

STM32CubeIDE下配置STM32F103输出带死区的互补PWM

STM32F103的TIM1和TIM8是高级定时器,可以产生嵌入死区时间的互补PWM波,使用STM32CubeIDE完成相关配置,可以直接生成代

2023-11-01 09:41:07

ARM系列STM32F103芯片的解密方法

破解STM32F103芯片的方法

2023-09-19 09:03:40

ch32v103stm32f103的区别

ch32v103与stm32f103的区别  Ch32v103与STM32f103

2023-08-22 15:49:00

STM32F103文教程及参考手册

STM32F103中文教程及参考手册

资料下载 是兔子呀 2022-06-14 15:26:32

stm32f103断总结很详细

stm32f103中断总结很详细

资料下载 佚名 2021-11-24 17:06:02

基于STM32f103的输入捕获测频率和占空比

基于STM32f103的输入捕获测频率和占空比

资料下载 shyshyshy 2021-08-02 10:10:24

基于STM32f103的FFT频率测试程序下载

基于STM32f103的FFT频率测试程序下载

资料下载 shyshyshy 2021-08-02 10:07:20

基于STM32f103使用的DAC正弦波

基于STM32f103使用的DAC正弦波

资料下载 shyshyshy 2021-08-02 10:05:00

STM32F103 GPIO内部电路图讲解

STM32F103 GPIO内部电路图讲解

2023-02-01 16:32:14

基于STM32F103单片机的矩阵按键设计

本实验使用STM32F103单片机,主题代码通用的。

2022-12-09 17:18:46

STM32F103 PWM输出配置有哪些步骤呢

PWM是什么?STM32F103 PWM输出比较模式有哪几种?STM32F103

2021-11-15 07:52:12

如何使用STM32F103输出PWM波?

如何使用STM32F103输出PWM波?

2021-11-15 06:45:05

STM32F103输出PWM波形

STM32的PWM和DAC练习STM32F103输出一路PWM波形用

2021-08-17 09:01:27

STM32F103输出PWM波形

STM32的PWM和DAC练习一、 用STM32F103输出一路PWM波

2021-08-17 06:29:16

stm32f030和stm32f103功能差异

stm32f030和stm32f103功能差异主要表现在哪?

2021-07-22 09:35:47

7天热门专题 换一换
相关标签