我用固件库3.5开发的,再用stm32的通用定时器,用于编码器读取时,有一句代码: TIM_ICStructInit(&TIM_ICInitStructure); 然后去看了缺省值的各个参数的具体值,其中对TIM_ICSelection填入的参数是TIM_ICSelection_DirectTI不是很懂,看pdf文档中有说明: 但是我没怎么看懂,求个大神,能不能给我详细点解释一下呀,这句话是不是等于寄存器操作时候的这两句代码: TIM2->CCER |= 0<<1; //IC1不反向 TIM2->CCER |= 0<<5; //IC2不反向 |
这里就是讲TI1、TI2与IC1或IC2的连接关系,
TI3 TI4与IC3或IC4的连接关系。
TIM_ICSelection_DirectTI ==》TI1,TI2,TI3,TI4 对应IC1,IC2,IC3,IC4;
TIM_ICSelection_IndirectTI==>TI1,TI2,TI3,TI4 对应IC2,IC11,IC4,IC3;
正解,Direct就是1-1,2-2,3-3,4-4;Indirect就是1-2,2-1,3-4,4-3。
感谢楼上的解答,我明白了
[](https://)
看了楼上的解释我觉得能理解了。
TIM_ICSelection_DirectTI:
输入信号TIMx_CH1→TI1→TI1FP1→IC1;
输入信号TIMx_CH2→TI2→TI2FP2→IC2;
输入信号TIMx_CH3→TI3→TI1FP3→IC3;
输入信号TIMx_CH4→TI4→TI2FP4→IC4;
TIM_ICSelection_IndirectTI:
输入信号TIMx_CH1→TI1→TI1FP2→IC2;
输入信号TIMx_CH2→TI2→TI2FP1→IC1;
输入信号TIMx_CH3→TI3→TI1FP4→IC4;
输入信号TIMx_CH4→TI4→TI2FP3→IC3;