OpenEdv-开源电子网

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

关于输入捕获的TIM_5中断服务程序不理解

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-10-10
在线时间
2 小时
发表于 2015-10-24 15:46:24 | 显示全部楼层 |阅读模式
5金钱


关于这段中断服务程序的思路看了好久还是不理解。


我打开串口助手测了一下,我一直按着那个键没有松手,然后过一会儿自己就弹出个4194303us后就停止计时了,再松开按键。
是最大只能计数到4194303us 吗?

最佳答案

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

是的,我们例程设计的最长就是这么长。 原理很简单,就是捕获1次上升沿,然后捕获随后发生的一次下降沿,计算2个边沿之间的时间差。
想学习,想进步
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-10-24 15:46:25 | 显示全部楼层
是的,我们例程设计的最长就是这么长。
原理很简单,就是捕获1次上升沿,然后捕获随后发生的一次下降沿,计算2个边沿之间的时间差。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-10-10
在线时间
2 小时
 楼主| 发表于 2015-10-24 18:57:02 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
哦哦,谢谢原子哥,这样的话我就明白了。  这个4194303us的时间是不是根据溢出的最大次数(0X3F中的bit5-0,11111)乘以每次最大装载的0XFFFF(65535us)得到的呢?如果是这样,那算出来才2031616us了。还是我算的方法不对呢?
想学习,想进步
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-10-10
在线时间
2 小时
 楼主| 发表于 2015-10-24 19:09:36 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
主程序里面是0X3F*65536,但是TIM5CH1_CAPTURE_STA寄存器中,只有bit5-0是溢出次数的计数,bit6、bit7是标志位吗?
想学习,想进步
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-10-25 23:06:38 | 显示全部楼层
回复【4楼】hongzhen91:
---------------------------------
是的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2015-9-21
在线时间
44 小时
发表于 2015-10-28 09:47:10 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥   我在这个地方也纠结了一下  你看咱主函数下temp*=65536;//溢出时间总和(为什么不是*65535)    假设按得足够长的时间  这一句是3F*65536+65535+63=4194303

我纠结的是这里后面为什么要加个63才等于4194303       我觉得是不是3F*65535+65535=4194240啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-1 23:54:08 | 显示全部楼层
回复【6楼】SmilePeng:
---------------------------------
 65536*63+65535,你自己计算是多少.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 19:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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