STM32通用定时器输入捕获

通用定时器输入捕获部分框图介绍

通用定时器输入捕获脉宽测量原理

要测量脉宽的高电平的时间:t2-t1=(脉宽下降沿时间点-脉宽上升沿时间点)

假设:递增计数模式

ARR:自动重装载寄存器的值

CCRx1:t1时间点CCRx的值

CCRx2:t2时间点CCRx的值

产生捕获事件时,会让CNT的值转移到CCRx寄存器

t1时要把CNT的值清0,同时把通道的边缘检测改为下降沿检测

递增计数模式下,溢出条件:CNT==ARR,实际记得个数(ARR+1)

高电平期间:计数器计数的个数:N*(ARR+1) + CCRx2

计数频率:Ft/(PSC+1)

因此,记一个数的时间:(PSC+1)/Ft

通用定时器输入捕获实验配置步骤

  1. 配置定时器基础工作参数:HAL_TIM_IC_Init()
  2. 定时器输入捕获MSP初始化:HAL_TIM_IC_MspInit(),配置NVIC、CLOCK、GPIO等
  3. 配置输入通道映射、捕获边沿等:HAL_TIM_IC_ConfigChannel
  4. 设置优先级,使能中断:HAL_NVIC_SetPriority()、HAL_NVIC_EnableIRQ()
  5. 使能定时器更新中断:HAL_TIM_ENABLE_IT()
  6. 使能捕获、捕获中断及计数器:HAL_TIM_IC_Start_IT()
  7. 编写中断服务函数:TIMx_IRQHandler() ---> HAL_TIM_IRQHandler()
  8. 编写更新中断和捕获回调函数:HAL_TIM_PeriodElapsedCallback()、HAL_TIM_IC_CaptureCallback()

相关HAL库函数介绍

HAL_TIM_IC_Init():初始化定时器基础参数

HAL_TIM_IC_MspInit():存放NVIC、CLOCK、GPIO初始化代码

HAL_TIM_IC_ConfigChannel():配置通道映射、捕获边沿、分频、滤波等

__HAL_TIM_ENBALE_IT():使能更新中断

HAL_TIM_IC_Start_IT():使能输入捕获、捕获中断并启动计数器

HAL_TIM_IRQHandler():定时器中断处理公用函数,处理各种中断

HAL_TIM_PeriodElapsedCallback():定时器更新中断回调函数,由用户重定义

HAL_TIM_IC_CaptureCallback():定时器输入捕获回调函数,由用户重定义

关键结构体介绍

c 复制代码
typedef struct
{
	uint32_t ICPolarity; //输入捕获触发方式选择,比如上升、下降捕获
	uint32_t ICSelection; //输入捕获选择,用于设置映射关系
	uint32_t ICPrescaler; //输入捕获分频系数
	uint32_t ICFilter; //输入捕获滤波器设置
}HAL_TIM_InitTypeDef;

实战

通过定时器5通道1来捕获按键高电平脉宽时间,通过串口打印出来

  1. 确定计数器工作频率:1MHZ计数频率为例,PSC=71,ARR=65535

    溢出时间65536
  2. 配置输入捕获方式:上升沿捕获,IC1映射在TI1上、不分频、不滤波
相关推荐
俊俊谢12 小时前
华大HC32F460配置JTAG调试引脚为普通GPIO(PB03、PA15等)
嵌入式硬件·嵌入式·arm·嵌入式软件·hc32f460
芯联智造12 小时前
【stm32简单外设篇】- 高灵敏麦克风传感器模块 KY-037
c语言·stm32·单片机·嵌入式硬件
三佛科技-1341638421213 小时前
点焊机方案开发,点焊机MCU控制方案设计
单片机·嵌入式硬件·智能家居·pcb工艺
brave and determined13 小时前
传感器学习(day06):PM2.5传感器技术全解析
嵌入式硬件·嵌入式开发·嵌入式应用·嵌入式设计·pm2.5·微量振荡天平·beta射线法
鸿喵小仙女14 小时前
HC32 SWDT看门狗
单片机·嵌入式硬件·hc32
点灯小铭14 小时前
基于单片机的喷漆机器人自动控制系统
单片机·嵌入式硬件·机器人·毕业设计·课程设计·期末大作业
丸子的蓝口袋14 小时前
光耦加PNP管驱动继电器
嵌入式硬件
Dillon Dong15 小时前
STM32嵌入式开发:巧用位运算,打造高效参数ID管理方案
stm32·单片机·嵌入式硬件
亿道电子Emdoor15 小时前
【Arm】Arm DS如何导出Build log文件
stm32·单片机·嵌入式硬件
DIY机器人工房15 小时前
解决方法:关于上传经纬度绑定到onenet可视化平台地图上位置偏移的问题
stm32·单片机·嵌入式硬件·gps·定位·diy机器人工房