OpenEdv-开源电子网

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

为什么Timer的计数器temp是多少就是多少us啊?这是怎么计算的啊

[复制链接]

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2014-5-13
在线时间
0 小时
发表于 2014-7-15 10:39:18 | 显示全部楼层 |阅读模式
5金钱
现在在做捕获,不懂为什么temp每计数加一就是加1us。

TIM2_Cap_Init(0XFFFF,72-1); //以1Mhz的频率计数  arr=0xffff=65535,psc=72-1

if(TIM2CH1_CAPTURE_STA&0X80)//成功捕获到了一次上升沿  
{
temp=TIM2CH1_CAPTURE_STA&0X3F;
temp*=65536;//溢出时间总和
temp+=TIM2CH1_CAPTURE_VAL;//得到总的高电平时间
printf("HIGH1:%d us\r\n",temp);//打印总的高点平时间        temp是多少就输出是多少us????????????why?
TIM2CH1_CAPTURE_STA=0;//开启下一次捕获
}  

为什么temp是多少就代表多少us呢?这是怎么计算的?
好像周期T=(1+arr)*(1+psc)/72M啊,这两者有关系吗?

求指教,谢谢!

最佳答案

查看完整内容[请看2#楼]

回复【2楼】lieren007: --------------------------------- arr是计数器的重装值,psc是时钟预分频数 是每记一次数是1/12us,而不是temp是1/12us, 比如你设arr=0-1=65535,psc=72-1=71,那么就是每记一次数为72/72=1us,temp=计数总次数*1us
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2013-11-18
在线时间
4 小时
发表于 2014-7-15 10:39:19 | 显示全部楼层
回复【2楼】lieren007:
---------------------------------
arr是计数器的重装值,psc是时钟预分频数
是每记一次数是1/12us,而不是temp是1/12us,
比如你设arr=0-1=65535,psc=72-1=71,那么就是每记一次数为72/72=1us,temp=计数总次数*1us
http://chenxuexia.taobao.com/shop/view_shop.htm?spm=a1z0e.1.0.0.bXH3cY&mytmenu=mdianpu&utkn=g,nzqws53pnbstinztgi2tk1401605753588&user_number_id=223376791&scm=1028.1.1.20001&v=1
回复

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2014-5-13
在线时间
0 小时
 楼主| 发表于 2014-7-15 11:44:36 | 显示全部楼层
是不是可以理解成这样?
设置psc=6-1;
频率为72M/6=12M,那么每个temp就表示1/12us了,对不对?
求高手指教。
回复

使用道具 举报

7

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2014-5-13
在线时间
0 小时
 楼主| 发表于 2014-7-15 15:21:19 | 显示全部楼层
回复【3楼】fangxinla:
---------------------------------
明白了,谢谢啊!
回复

使用道具 举报

28

主题

303

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2014-8-14
在线时间
67 小时
发表于 2015-7-26 15:18:47 | 显示全部楼层
搜噶  不错  不错
这个世界上还有很多很多的人,但你不认识他们,他们也不属于你的世界。这个世界上还有很多好吃的好玩的好看的东西,可真正属于你的世界其实是很小的,只是你去过的地方吃过的东西和见过的落日,还有会在乎你死活的朋友。”——《龙族》
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-2-11
在线时间
1 小时
发表于 2018-2-13 18:32:01 | 显示全部楼层
very nice
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2017-11-13
在线时间
2 小时
发表于 2018-12-29 23:54:31 | 显示全部楼层
借楼问一下
temp=TIM2CH1_CAPTURE_STA&0X3F;
temp*=65536;//溢出时间总和
到这里不就是上升沿和下降沿之间的时间么?为什么还有加上TIM2CH1_CAPTURE_VAL?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 21:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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