OpenEdv-开源电子网

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

用TIM3实现外部脉冲计数问题求助

[复制链接]

3

主题

9

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-10-28
在线时间
10 小时
发表于 2024-7-31 09:10:05 | 显示全部楼层 |阅读模式
5金钱
当前用了STM32F103C8T6 TIM3 通道1 PB4去计数,由于输入脉冲频率较高,不想通过中断进行计数于是想用 LL_TIM_GetCounter(TIM3); 语句直接获取计数值,屏蔽中断
但发现没有脉冲输入时,counter也在类似定时向上计数,这里TIM3初始化配置该怎么调整只对外部计数?


TIM3配置.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6291

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11405
金钱
11405
注册时间
2014-4-1
在线时间
1282 小时
发表于 2024-7-31 17:05:59 | 显示全部楼层

可以肯定,一定能实现。
可以看看寄存器的值,然后对照手册,一位一 位研究一下功能。

回复

使用道具 举报

0

主题

12

帖子

0

精华

高级会员

Rank: 4

积分
682
金钱
682
注册时间
2016-7-13
在线时间
121 小时
发表于 2024-7-31 17:40:54 | 显示全部楼层
配成编码器模式,注意配置只在TI1边沿计数,就能实现需要的功能
回复

使用道具 举报

3

主题

9

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-10-28
在线时间
10 小时
 楼主| 发表于 2024-7-31 19:16:03 | 显示全部楼层
踩姑娘的小蘑菇 发表于 2024-7-31 17:40
配成编码器模式,注意配置只在TI1边沿计数,就能实现需要的功能

TIM3这个定时器也能配置成编码器模式 是吗?
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4584
金钱
4584
注册时间
2015-1-10
在线时间
573 小时
发表于 2024-8-1 09:05:36 | 显示全部楼层
NJH123 发表于 2024-7-31 19:16
TIM3这个定时器也能配置成编码器模式 是吗?

可以,datasheet上有写
回复

使用道具 举报

3

主题

9

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-10-28
在线时间
10 小时
 楼主| 发表于 2024-8-2 17:11:06 | 显示全部楼层
阿侑kevin 发表于 2024-8-1 09:05
可以,datasheet上有写

编码器模式需要输入两路脉冲才能计数吗?我这个只计数单路脉冲
回复

使用道具 举报

0

主题

12

帖子

0

精华

高级会员

Rank: 4

积分
682
金钱
682
注册时间
2016-7-13
在线时间
121 小时
发表于 2024-8-2 18:10:47 | 显示全部楼层
本帖最后由 踩姑娘的小蘑菇 于 2024-8-2 18:12 编辑
NJH123 发表于 2024-8-2 17:11
编码器模式需要输入两路脉冲才能计数吗?我这个只计数单路脉冲

你这个最适合用的是定时器的ETR模式,但f1只有TIM1和TIM2的特定引脚支持
编码器采集单路脉冲理论上没问题,没有实际测过,最近研究手册发现的:


回复

使用道具 举报

0

主题

12

帖子

0

精华

高级会员

Rank: 4

积分
682
金钱
682
注册时间
2016-7-13
在线时间
121 小时
发表于 2024-8-2 18:14:13 | 显示全部楼层
踩姑娘的小蘑菇 发表于 2024-8-2 18:10
你这个最适合用的是定时器的ETR模式,但f1只有TIM1和TIM2的特定引脚支持
编码器采集单路脉冲理论上没问 ...

图好像刷不出来,看下中文参考手册v10的14.3.12节 编码器接口模式的描述,再看下表77
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4584
金钱
4584
注册时间
2015-1-10
在线时间
573 小时
发表于 2024-8-5 09:12:23 | 显示全部楼层
NJH123 发表于 2024-8-2 17:11
编码器模式需要输入两路脉冲才能计数吗?我这个只计数单路脉冲

可以,PD2----TIM3_ETR
回复

使用道具 举报

13

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2018-11-2
在线时间
78 小时
发表于 2024-8-5 10:19:30 | 显示全部楼层
本帖最后由 qinlu123 于 2024-8-5 10:31 编辑
踩姑娘的小蘑菇 发表于 2024-7-31 17:40
配成编码器模式,注意配置只在TI1边沿计数,就能实现需要的功能

不需要配置编码器模式,定时器有专门的外部计数模式。选择定时器模式为外部计数模式1,触发源选择TI1FP1,然后将IO重映射到PB4。
回复

使用道具 举报

13

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2018-11-2
在线时间
78 小时
发表于 2024-8-5 10:35:16 | 显示全部楼层
踩姑娘的小蘑菇 发表于 2024-8-2 18:10
你这个最适合用的是定时器的ETR模式,但f1只有TIM1和TIM2的特定引脚支持
编码器采集单路脉冲理论上没问 ...

外部计数模式通用定时器和高级定时器都有这个功能,但是需要注意只能接到ch1(TI1FP1)或者ch2(TI2PF2)或者ED(TI1_ED)
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 06:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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