OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2360|回复: 1

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

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-2-17
在线时间
7 小时
发表于 2020-2-17 22:16:15 | 显示全部楼层 |阅读模式
本人最近在学习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来配置边沿的极性.


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


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-2-17
在线时间
7 小时
 楼主| 发表于 2020-2-18 16:16:20 | 显示全部楼层
没人回复吗?自己顶一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-8 06:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表