初学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 手动清除标志位。
相关推荐
cjy_Somnr3 小时前
keil5报错显示stm32的SWDIO未连接不能烧录
stm32·单片机·嵌入式硬件
Lay_鑫辰4 小时前
西门子诊断-状态和错误位(“轴”工艺对象 V1...3)
服务器·网络·单片机·嵌入式硬件·自动化
无垠的广袤6 小时前
【工业树莓派 CM0 NANO 单板计算机】本地部署 EMQX
linux·python·嵌入式硬件·物联网·树莓派·emqx·工业物联网
雲烟8 小时前
嵌入式设备EMC安规检测参考
网络·单片机·嵌入式硬件
泽虞8 小时前
《STM32单片机开发》p7
笔记·stm32·单片机·嵌入式硬件
田甲9 小时前
【STM32】 数码管驱动
stm32·单片机·嵌入式硬件
up向上up9 小时前
基于51单片机垃圾箱自动分类加料机快递物流分拣器系统设计
单片机·嵌入式硬件·51单片机
纳祥科技18 小时前
Switch快充方案,内置GaN,集成了多个独立芯片
单片机
单片机日志19 小时前
【单片机毕业设计】【mcugc-mcu826】基于单片机的智能风扇系统设计
stm32·单片机·嵌入式硬件·毕业设计·智能家居·课程设计·电子信息
松涛和鸣20 小时前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法