OpenEdv-开源电子网

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

新手关于定时器捕获的问题

[复制链接]

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2012-5-1
在线时间
0 小时
发表于 2012-5-4 16:28:05 | 显示全部楼层 |阅读模式
原子哥,我在做定时器捕获的时候想实现一个脉冲宽度测量写了如下代码
void TIM2_IRQHandler(void)
{  
  if(a++)   
  {  
     a = 1;            
     IC2Value1 = TIM2->CCR1;//读取CCR1也可以清CC1IF标志位
     TIM2->CCER|=1<<1; 
     printf("IC2Value1 = %d\r\n",IC2Value1);
  }
  if(a) 
  {
   a=0;
  IC2Value2 = TIM2->CCR1;//读取CCR1也可以清CC1IF标志位
  TIM2->CCER|=0<<1; 
 printf("IC2Value2 = %d\r\n",IC2Value2);
    }                    
 TIM2->SR&=~(1<<1);//清除中断标志位     
}
但是实际测得IC2Value1,IC2Value2输出的值是一样的??????
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-5-4 17:21:22 | 显示全部楼层
当然是一样的了.
自己分析代码.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2012-5-1
在线时间
0 小时
 楼主| 发表于 2012-5-4 21:46:43 | 显示全部楼层
IC2Value2 = TIM2->CCR1;
是这句有问题吗?那我要是想在第一次进中断的时候吧TIM2->CCR1里面的是清除掉该怎么写呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-5-4 22:09:38 | 显示全部楼层
TIM2->CCR1=0;
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2012-5-1
在线时间
0 小时
 楼主| 发表于 2012-5-7 14:52:28 | 显示全部楼层
搞定了,谢谢!!!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 20:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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