STM32的编码器模式,TIM_ICPolarity_Falling和TIM_ICPolarity_BothEdge有什么区别

2019-07-21 00:31发布

[mw_shl_code=c,true]TIM_EncoderInterfaceConfig(TIM3,
                             TIM_EncoderMode_TI12,
                             TIM_ICPolarity_Falling,
                             TIM_ICPolarity_Falling);[/mw_shl_code]这个是不是在两相信号的下降沿计数,也就是说一个脉冲计数两次
[mw_shl_code=c,true]TIM_EncoderInterfaceConfig(TIM3,
                             TIM_EncoderMode_TI12,
                             TIM_ICPolarity_BothEdge,
                             TIM_ICPolarity_BothEdge);[/mw_shl_code]

而这个在上升沿和下降沿都会计数,一个脉冲计数4次。
为什么我测试一个编码器用串口输出,这两条语句输出的数据都大致一样。
但是我只选择TI1的话,就只有上面两种的一半

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
lluulluu2
1楼-- · 2019-07-21 04:50
TIM_ICPolarity_BothEdge  在库里面 设置的值是0x000A,结合寄存器CCER看,它其实就是TIM_ICPolarity_Falling。
正点原子
2楼-- · 2019-07-21 08:30
帮顶
望着你发槑
3楼-- · 2019-07-21 12:06
再顶     
哇噻
4楼-- · 2019-07-21 15:40
 精彩回答 2  元偷偷看……
奮闘ing
5楼-- · 2019-07-21 20:04
TIM3是不是可以这样用?
望着你发槑
6楼-- · 2019-07-21 23:40
 精彩回答 2  元偷偷看……

一周热门 更多>