输入捕获模式测频率
1.1电路连接示意图

待测PWM信号为stm32自己生成,输出脚为PA0,直接用一根线把PA0引到PA6。
1.2 设计思路
在原有模板的基础上,改动PWM.h、PWM.c并添加IC.h、IC.c
输出捕获初始化
第⼀步,RCC开启时钟,把GPIO的TIM的时钟打开 第⼆步,GPIO初始化,把GPIO配置成输⼊模式,⼀般选择上拉输⼊或者浮空输⼊模式 第三步,配置时基单元,让CNT计数器在内部时钟的驱动下⾃增运⾏ 第四步,配置输⼊捕获单元,包括滤波器、极性、直连通道还是交叉通道、分频器这些参数 第五步,选择从模式的触发源,触发源选择TI1FP1,调⽤⼀个库函数即可 第六步,选择触发之后执⾏的操作,执⾏Reset操作,调⽤⼀个库函数即可 第七步,调⽤TIM_Cmd函数,开启定时器
1.3 输入捕获常用库函数
结构体配置输⼊捕获单元的函数
输出比较和输入捕获每个通道占⽤⼀个函数,输⼊捕获4个通道是共⽤⼀个函数的,在结构体中有额外的 参数来选择通道。
void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
输⼊捕获的初始化函数
与上⼀个函数类似都是⽤于初始化输⼊捕获单元的,上⼀个函数只是单⼀的配置⼀个通道, ⽽这个函数可以快速配置两个通道,把外设电路配置成PWMI的电路
void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
给输⼊捕获结构体赋⼀个初始值函数
void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct);
选择输⼊触发源TRGI函数
void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTrigg