打印

定时器编码器模式资料和代码相矛盾

[复制链接]
282|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一亚麻怡|  楼主 | 2018-7-6 07:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人最近在学习STM32F407相关的资料. 在学习到定时器时, 发现将定时器配置为编码器模式时, 资料中讲述的内容和库函数中的配置代码好像有相互矛盾的地方, 希望有大神指点.详细描述如下:


1.在资料中说明的将定时器1或者8配置为编码器模式而且如果计数器在 TI1 和 TI2 边沿处均计数,则写入 SMS=“011” ,而且资料中还特别强调,
在编码器模式时,CC1NP 和 CC2NP 必须保持低电平,编码器模式下不得将CCxNP/CCxP配置为11。


2.而在库函数中的编码器配置函数void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode,uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity)
关于TIM_IC1Polarity和TIM_IC2Polarity这两个参数,按我理解程序中是想对TI1和TI2的极性进行配置,而这个配置就是对CCxNP/CCxP进行赋值,在配置双边沿触发时就是将这两个参数为11,宏定义 #define  TIM_ICPolarity_BothEdge   ((uint16_t)0x000A).

3.按我的理解,将定时器配置为编码器模式时,已经包含了TI1和TI2的双边沿触发,关于对TIx极性的配置,只是配置计数器增计数或减计数的方向而已,而不是像代码上那样描述的,用CCxNP/CCxP来配置边沿的极性.


这明显与资料中描述的内容不相符啊,各位大神,谁能给我解一下惑呢?

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

404

主题

404

帖子

0

粉丝