OpenEdv-开源电子网

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

定时器输入捕获的中断程序

[复制链接]

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
发表于 2014-3-24 13:51:48 | 显示全部楼层 |阅读模式
我使用定时器4的通道3进行输入捕获,要获得信号的周期和占空比,在初始化中设为上升沿捕获,然后在中断中进行如下配置:
标志位flag=0
第一次捕获得到                IC4Value1 = TIM_GetCapture3(TIM4);
然后设为下降沿捕获,flag=1
第二次捕获得到                IC4Value2 = TIM_GetCapture3(TIM4);
然后设为上升沿捕获,flag=2
第三次捕获得到                IC4Value3 = TIM_GetCapture3(TIM4);
然后设为flag=0

则高电平为IC4Value2-IC4Value1
周期为IC4Value3 - IC4Value1
占空比就是上面两个数的比值

请问这个思路正确么?谢谢!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-3-24 14:53:46 | 显示全部楼层
回复【楼主位】馨馨泡沫:
---------------------------------
可以,但是还要考虑溢出情况。
另外你的两次flag=0,是写错了吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

77

主题

198

帖子

0

精华

高级会员

Rank: 4

积分
526
金钱
526
注册时间
2013-11-25
在线时间
0 小时
 楼主| 发表于 2014-3-25 08:44:45 | 显示全部楼层
回复【2楼】正点原子:
--------------------------------
第二次的flag=0是想让他回到捕捉IC4Value1 的状态,这样就相当于把上述过程无数次的循环。这个思路对不对呢?谢谢~




另外,我设置arr=65536,是不是发生溢出的可能性就减小很多了?
关于溢出我是这么想的,在第一个if(flag=0)中,如果没有溢出,就
IC4Value1 = TIM_GetCapture3(TIM4); 
flag=1;
TIM_OC3PolarityConfig(TIM4,TIM_ICPolarity_Falling);

如果溢出了就flag=0,然后就会在下一次遇到上升沿的时候重新IC4Value1 = TIM_GetCapture3(TIM4);
对于第二个和第三个if(flag=1、2)也这么设置。每次遇到溢出,都让flag=0,强制重新执行读取IC4Value1的值。

那么为了判断是否溢出我应该怎么办呢?因为我是自己弄的这个获取高电平和周期的函数,所以没有用例程中自定义的TIM4CH3_CAPTURE_STA,所以不能使用
if((TIM4CH3_CAPTURE_STA&0X3F)==0X3F)
{
TIM4CH3_CAPTURE_STA|=0X80;
TIM4CH3_CAPTURE_VAL=0XFFFF;
}
来判断溢出与否。

请问除了自定义这个函数外是否有什么其他方法来判断是否溢出呢?谢谢~








回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-3-25 15:34:48 | 显示全部楼层
回复【3楼】馨馨泡沫:
---------------------------------
写代码验证
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 20:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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