输入捕获:
-
IC(Input Capture)输入捕获
-
通过计数器模块,对外部信号的频率、占空比等参数进行测量和记录,以实现对电路信号的监测和控制。
执行流程:
输入滤波器和边沿检测器通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(上升沿/下降沿)时,将CNT计数器的值锁存到捕获/比较寄存器。
- 红色部分:滤波器输入的是TI1(CH1的引脚)f DTS(滤波器的采样时钟来源) TI1F(滤波后的信号) ICF(控制滤波器的参数)
- 绿色部分:选择捕获上升沿和下降沿,由CCER的CC1P(输入/捕获1输出极性)位来配置极性。
- 黄色部分:设置输入捕获映射通道。经过数据选择器由CC1S位(定义输入/输出,及输入脚的选择)进行配置
- 蓝色部分:ICPS位(定义了IC1的预分频系数)配置分频器,CC1E位(输入/捕获1输出使能)控制输出使能或失能。
主/从/触发模式:
- 主模式:定时器内部的信号映射到TRGO引脚,用于触发别的模式
- 从模式:接受其他外设和自身外设的信号,用于控制自身定时器的运行(被别的信号控制)
- 触发源选择:选择从模式的触发信号源,得到TRGI去触发从模式
复位 | Reset | 关闭从模式 | Closed |
使能 | Enable | 编码器模式1 | Encoder1 |
更新 | Update | 编码器模式2 | Encoder2 |
比较脉冲 | OC1 | 编码器模式3 | Encoder3 |
比较1 | OC1REF | 复位模式 | Reset |
比较2 | OC2REF | 门控模式 | Gated |
比较3 | OC3REF | 触发模式 | Trigger |
比较4 | OC4REF | 外部时钟模式 | External1 |
输入捕获模式库函数补充:
- Tim_IcStructInit(); 给输入捕获模式结构体幅初值
- Tim_InputTrigger(); 选择输入触发
- Tim_OutputTrigger(); 选择输出触发
- Tim_SelectSlaveMode(); 选从模式
- Tim_GetCapture1(); 输出比较,CCR只读
- Tim_SetCapture1(); 输出比较,CCR只写