输入捕获介绍IC输入捕获在输入捕获模式下当通道输入引脚出现指定电平跳变时当前CNT的值会被锁存到CCR中。用于测量PWM频率和占空比等数据。每个高级定时器与通用定时器都有四个输入捕获通道。频率测量输入捕获通道第一部分TI1是CH1的引脚ICF用于配置滤波器TI1F经过滤波后的信号fDTS采样时钟来源第二部分边沿检测器用于捕获上升沿与下降沿CC1P是CCR寄存器用于选择极性可以产生TI1FP1TI1FP2,TI2FP1,TI2FP2,四种连接方式。其中TI是代表不同引脚FP是代表不同通道。第三部分CCS1对数据选择器进行选择ICPS用于配置分频器CC1E控制输出使能。最后将CNT的值转运到CCR里并且硬件电路可以自动化清除CNT利用从模式控制器主模式与从模式主模式是可以将定时器内部的外设映射到TRGO引脚用于触发别的外设。从模式是接收其他外设用于控制自身定时器运行。输入捕获基本结构解释信号通过GPIO进入经过滤波器、极性选择等变成TI1FP1信号上升沿触发当出现上升沿之后CNT当前计数值转运到CCR中同时触发从模式清零CNT。PWMI基本结构新增了TI1FP2通道也就是使下降沿触发使在下降沿时CNT值转运到CCR2中。此时CCR2/CCR1就是占空比。输入捕获模式测频率代码步骤1开启RCC时钟打开GPIO与TIM时钟。把GPIO设置成输入模式上拉。步骤2配置时基单元使CNT在内部时钟驱动下实现自增运行。步骤3配置输入捕获单元包括滤波器、极性选择、直连或交叉连接、分频器等配置用结构体。步骤4选择从模式触发源触发源选择TI1FP1调用库函数步骤5选择触发之后的操作。Resert操作步骤6启动定时器。最后设置一个函数用来读取CCR1的值并根据这个值计算输入信号频率。IC部分初始化和获取频率函数这部分代码根据步骤进行配置并新增IC_GetFreq获取频率代码TIM_GetCapture1用于捕获寄存器的值。这个值一个周期里走了多少个数字脉冲。主函数代码PWMI模式测频率占空比也是根据PWMI模式基本结构进行编码在上个示例的基础上 使用 TIM_PWMIConfig(TIM3,TIM_ICInitStruct);用来自动把剩下的一个初始化成相反的配置快捷的把电路配置成PWMI模式。并且多配置了获取占空比的函数用通道2的·CCR/通道1的CCR就可得到。主函数代码