打印
[应用相关]

STM32: 输入捕获基本结构

[复制链接]
23|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2025-1-13 14:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式



输入捕获基本结构
1. GPIO
GPIO: 通用输入输出引脚,用于接收外部信号。
滤波器: 对GPIO接收到的信号进行滤波处理,以去除噪声干扰。
2. 边沿检测/极性选择
边沿检测: 检测GPIO信号的上升沿或下降沿。
极性选择: 选择触发事件的边沿(上升沿、下降沿或双沿)。
3. 分频器
分频器: 对检测到的边沿信号进行分频处理,以适应定时器的计数频率。
4. CCR1 (捕获/比较器)
CCR1: 捕获寄存器,用于存储定时器当前的计数值。
捕获/比较器: 当检测到触发事件时,将定时器的当前计数值捕获到CCR1中。
5. 定时器单元
ARR (Auto-reload register): 自动重装载寄存器,设置定时器的最大计数值。
PSC (Prescaler): 预分频器,设置定时器的计数频率。
CNT (Counter): 计数器,根据预分频器的时钟进行计数。
6. 触发源选择
触发源选择: 选择触发输入捕获的信号源。
TI1FP1: 触发输入信号,经过滤波和边沿检测后的信号。
7. 从模式 Reset
从模式 Reset: 在某些情况下,触发事件可以导致定时器复位。
工作流程
GPIO信号输入:

外部信号通过GPIO引脚输入。
信号首先经过滤波器处理,去除噪声。
边沿检测:

滤波后的信号被送入边沿检测模块。
边沿检测模块检测信号的上升沿或下降沿。
极性选择:

根据配置选择触发事件的边沿(上升沿、下降沿或双沿)。
分频器处理:

检测到的边沿信号经过分频器处理,以适应定时器的计数频率。
捕获操作:

当检测到触发事件时,定时器的当前计数值被捕获到CCR1寄存器中。
这个值反映了触发事件发生时定时器的状态。
定时器计数:

定时器继续计数,直到下一个触发事件发生。
计数器CNT根据预分频器PSC的时钟进行计数。
自动重装载:

当计数器CNT达到ARR设定的最大值时,计数器清零并重新开始计数。
从模式 Reset:

在某些情况下,触发事件可以导致定时器复位,重新开始计数。
示例说明
假设:

ARR = 99: 计数器的最大值为99。
PSC = 1: 预分频器不进行分频。
CCR1: 捕获寄存器,用于存储计数值。
工作过程
计数器从0开始递增:

当CNT = 0时,开始计数。
当CNT = 99时,计数器清零并重新开始计数。
边沿检测:

当GPIO信号的上升沿到来时,触发捕获操作。
捕获操作:

将当前计数值捕获到CCR1寄存器中。
重复上述过程:

每次检测到上升沿时,捕获当前计数值,并记录在CCR1中。
总结
输入捕获功能主要用于测量时间间隔、频率或周期。通过配置定时器和捕获寄存器,可以精确地捕捉外部事件发生的时间点,并进行相应的处理。



————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/2301_79145450/article/details/145033686

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2065

主题

16018

帖子

15

粉丝