IC---输入捕获
第一步:RCC开启时钟,GPIO和TIM的时钟打开
第二步:GPIO初始化,把GPIO配置成输入模式,一般是上拉输入或者浮空输入
第三步:配置时基单元,让计数器在内部时钟的驱动下自增运行
第四步:配置输入捕获单元 ,包括滤波性,极性,直连通道还是交叉通道,分频器这些参数 ---结构体统一配置
第五步:选择从模式的触发源
代码解释
TIM_ICInit (TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
用结构体配置输入捕获单元的函数,四个通道一个函数,会有选择通道的参数
TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
可以快速配置两个通道,如下图
TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);
选择输入触发源TRGI
选择输出触发源
TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode);
选择从模式
void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD);分别单独配置通道1234的分频器
void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC);
void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD);读取
小结:
输出比较只写,
输入捕获只读,