初学stm32 --- 高级定时器PWM输入模式

目录

PWM输入模式工作原理

PWM输入模式时序

高级定时器PWM输入模式实验配置步骤

相关HAL库函数介绍

捕获标志位清理的规则

[1. 如果使用中断模式](#1. 如果使用中断模式)

[2. 如果使用轮询模式](#2. 如果使用轮询模式)


PWM****输入模式工作原理

PWM****输入模式时序

高级定时器PWM输入模式实验配置步骤

1,配置定时器基础工作参数 HAL_TIM_IC_Init()

2,定时器捕获输入MSP初始化 HAL_TIM_IC_MspInit() 配置NVIC、CLOCK、GPIO等

3,配置IC1/2映射、捕获边沿等 HAL_TIM_IC_ConfigChannel()

4,配置从模式,触发源等 HAL_TIM_SlaveConfigSynchro()

5,设置优先级,使能中断 HAL_NVIC_SetPriority()、 HAL_NVIC_EnableIRQ()

6,使能捕获、捕获中断及计数器 HAL_TIM_IC_Start_IT()、 HAL_TIM_IC_Start()

7,编写中断服务函数 TIMx_IRQHandler()等 -> HAL_TIM_IRQHandler()

8,编写输入捕获回调函数 HAL_TIM_IC_CaptureCallback()

相关HAL库函数介绍

关键结构体介绍

cpp 复制代码
typedef struct
{ 
    uint32_t ICPolarity;    /* 输入捕获触发方式选择,比如上升、下降沿捕获 */ 
    uint32_t ICSelection; /* 输入捕获选择,用于设置映射关系 */ 
    uint32_t ICPrescaler; /* 输入捕获分频系数 */ 
    uint32_t ICFilter;         /* 输入捕获滤波器设置 */ 
} TIM_IC_InitTypeDef;
cpp 复制代码
typedef struct 
{ 
    uint32_t SlaveMode;              /* 从模式选择 */ 
    uint32_t InputTrigger;           /* 输入触发源选择 */ 
    uint32_t TriggerPolarity;      /* 输入触发极性 */ 
    uint32_t TriggerPrescaler;   /* 输入触发预分频 */ 
    uint32_t TriggerFilter;           /* 输入滤波器设置 */ 
} TIM_SlaveConfigTypeDef;

捕获标志位清理的规则

1. 如果使用中断模式

在中断模式下(即通过 HAL_TIM_IC_Start_IT 启用捕获中断):

  • 当捕获事件发生时(如上升沿或下降沿),定时器会自动设置对应的捕获标志位(CCxIF 标志)。
  • HAL 库会在处理中断时自动清除标志位,因此在中断回调函数中,您无需手动清除标志位。
  • 在 STM32 的 HAL 库中,当使用输入捕获中断时,HAL 库会在 定时器中断处理函数自动清除标志位 。具体来说,它是在 HAL_TIM_IRQHandler 函数中完成的。
2. 如果使用轮询模式

在轮询模式下(即通过 HAL_TIM_IC_Start 启用捕获,但未启用中断):

  • 您需要手动检测和清除捕获标志位
  • 在读取捕获值后,标志位不会自动清除,必须调用 __HAL_TIM_CLEAR_FLAG 手动清除标志位。
相关推荐
czy87874754 分钟前
vscode编译make命令要修改stm32cubemx生成的STM32F103XX_FLASH.ld文件
ide·vscode·stm32
三易串口屏2 小时前
实验20 自动灭火场景实验
嵌入式硬件·串口屏·三易串口屏·uart 通信
蒸蛋一级爱好者2 小时前
TFTP协议
单片机·嵌入式硬件
优信电子2 小时前
STM32/C51驱动 DHTC11 温湿度传感器
stm32·单片机·嵌入式硬件·c51·温湿度传感器·dhtc11·环境测量
QiLinkOS3 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
周周记笔记3 小时前
【元器件专题】三极管-如果B极给一个方波信号,那么V0输出也可以设计为一个方波信号
单片机·嵌入式硬件
潜创微科技3 小时前
IT68353:DP 1.4 + HDMI 2.0 + USB-C 三合一转 HDMI 2.0 单芯片KVM切换方案
嵌入式硬件·音视频
HPT_Lt4 小时前
ZCC10012支持100V/1.2A 超低静态电流同步降压转换器 兼容LM5164
单片机·嵌入式硬件
Industio_触觉智能4 小时前
瑞芯微RK3576车载智能场景之ADAS+DMS+NVR
嵌入式硬件·dms·adas·nvr·rk3576·车载智能
2zcode4 小时前
基于STM32的多功能万年历电子闹钟设计与实现
stm32·单片机·嵌入式硬件