TIM输入捕获
1.输入捕获模式测频率:
捕获事件:首先设置为上升沿捕获,每来一个上升沿,CNT转运CCR一次,且CNT的值是两个上升沿之间的间隔,即CNT=周期,所以用来计时,也就是T。CCR的捕获的值是计数值N。
通道选择时,第一个通道选择上升沿触发,用于捕获周期。第二个通道选择下降沿触发,用于捕获占空比。
推荐封装函数为IC_Init();
思路:
1.开启RCC的TIM3的GPIOA时钟+2.选择内部时钟TIM_IntertnalClockConfig(); 初始化时基单元TIM_TimeBaseInit();+3.GPIO初始化GPIO_Init();+4.输入捕获单元TIM_ICInit();+5.设置TRGI为TI1FP1.+6.配置从模式为ReSet+7.开Tim_Cmd();+8.自定义频率函数,推荐为uint8_t IC_GetFreq
2.输入捕获模式测频率和占空比:
思路与输入捕获模式测频率基本相同,只是需要单独测占空比,因此,需要测占空比的自定义函数。推荐自定义函数为uint16_t IC_GetDuty();
注意:频率和占空比之间存在转换关系,如下:Tim_GetCapture2(Tim3)+1*100/(Tim_GetCapture(Tim3)+1).
3.输入捕获模式Tim的库函数补充:
Tim_IcStructInit();给输入捕获模式结构体幅初值
Tim_InputTrigger();选择输入触发
Tim_OutputTrigger();选择输出触发
Tim_SelectSlaveMode();选从模式
Tim_GetCapture1();输出比较,CCR只读
Tim_SetCapture1();输出比较,CCR只写