OpenEdv-开源电子网

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

TIM_GetCounter(TIM5)和TIM_GetCapture1(TIM5)的区别

[复制链接]

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2018-3-24
在线时间
25 小时
发表于 2018-5-31 22:57:02 | 显示全部楼层 |阅读模式
今天学习电容式按键看到教程里的捕获超时返回CNT值用的是TIM_GetCounter();而之前的高电平捕获有另一个TIM_GetCapture1()获取定时器计数值。我自己想的这两个函数返回的值应该是一样的,从论坛搜索找不到要的答案,就改了一下例程使两个数通过串口输出比较一下。两个函数获取定时器计数值
                                CAP_VAL = TIM_GetCapture1(TIM5);                                counter_val = TIM_GetCounter(TIM5);

串口输出:
                printf("按键按下 %lld us\r\n",temp);
                printf("CAP_VAL = %d us\r\n",CAP_VAL);
                printf("counter_val = %d us\r\n",counter_val);



结果:

定时器计数值

定时器计数值


可以看到两个值相差1、2us。



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

使用道具 举报

17

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
332
金钱
332
注册时间
2021-1-19
在线时间
56 小时
发表于 2021-2-26 12:29:38 | 显示全部楼层
getcounter获取的是计数器CNT的值
getcapture获取的是CCR的值

CNT一直在计数,一直在变
而CCR在通道作为输入模式时,会在发生捕获时存储当前CNT的值,而后不变,除非人为改动
回复 支持 1 反对 0

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2018-3-24
在线时间
25 小时
 楼主| 发表于 2018-5-31 23:02:26 | 显示全部楼层
电容式按键的Cs和R取多大合适,我看原理图上并没有Cs这个器件。

电容式按键原理

电容式按键原理
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2018-3-24
在线时间
25 小时
 楼主| 发表于 2018-5-31 23:02:26 | 显示全部楼层
电容式按键的Cs和R取多大合适,我看原理图上并没有Cs这个器件。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2013-9-10
在线时间
14 小时
发表于 2018-9-3 13:22:51 | 显示全部楼层
风平浪静 发表于 2018-5-31 23:02
电容式按键的Cs和R取多大合适,我看原理图上并没有Cs这个器件。

Cs是触摸铜箔对地的电容,不用你连接,实际通过计算一般会在几十个pf左右吧
R是上拉电阻,例程中设置的位5.1M,之前查过,这个电阻最好为MΩ级别的
回复 支持 反对

使用道具 举报

9

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2018-7-4
在线时间
18 小时
发表于 2020-3-6 10:54:03 | 显示全部楼层
这个问题最后解决看了没有,到底两个值有什么具体区别
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-28 12:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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