打印
[STM32F1]

关于STM32自动进入捕获中断

[复制链接]
3417|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
专注于嵌入式|  楼主 | 2014-10-25 12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 专注于嵌入式 于 2014-10-25 12:55 编辑

STM32F103rct6单片机,TIM2,CH2捕获中断。今天在写遥控器程序,用到捕获测两个下降沿宽度。
void TIM2_IRQHandler(void)
{  
                  
if( ( TIM2->SR&(1<<2) )==4)//捕获中断判断
  {
     TIM2_Counter=TIM2->CCR2; //读取
  }
   TIM2->SR=0;//清除中断标志位   
}
这个中断函数我是用来测试的,在主程序里我把TIM2_Counter通过串口发到上位机。
我没有按遥控器,也进入到捕获中断了。很奇怪。这个下降沿信号从哪来的??难道是干扰??不应该啊。
而且这个中断是隔段时间就进一次。比如6秒进一次,28秒又进一次,然后又是,6,28,6,28
我晕了,这个信号哪来的。我没有按遥控器。
沙发
mmuuss586| | 2014-10-25 13:38 | 只看该作者
程序初始化加了PWM捕获超时没有啊?
加段程序,看看捕获到的频率,脉宽是多少;
不知道你PWM输入引脚接的啥;
电路引入干扰也是有可能的,想办法把板子用东西罩起来看看;

使用特权

评论回复
板凳
专注于嵌入式|  楼主 | 2014-10-25 16:57 | 只看该作者
mmuuss586 发表于 2014-10-25 13:38
程序初始化加了PWM捕获超时没有啊?
加段程序,看看捕获到的频率,脉宽是多少;
不知道你PWM输入引脚接的啥 ...

一觉醒来这种现象再也没出现,,,,,,,,,,,,,,,,,,,晕了。。。。。蛋疼啊

使用特权

评论回复
地板
mmuuss586| | 2014-10-25 19:24 | 只看该作者
专注于嵌入式 发表于 2014-10-25 16:57
一觉醒来这种现象再也没出现,,,,,,,,,,,,,,,,,,,晕了。。。。。蛋疼啊 ...

那就加点干扰进去,比如手摸下,估计就进入中断了;

使用特权

评论回复
5
专注于嵌入式|  楼主 | 2014-10-26 14:46 | 只看该作者
mmuuss586 发表于 2014-10-25 19:24
那就加点干扰进去,比如手摸下,估计就进入中断了;

TIM2,CH2接的是红外接收头,的确是这样,手不停地触碰红外接收头,进中断了。这一种情况下怎么办呢??

使用特权

评论回复
6
专注于嵌入式|  楼主 | 2014-10-26 14:47 | 只看该作者
专注于嵌入式 发表于 2014-10-26 14:46
TIM2,CH2接的是红外接收头,的确是这样,手不停地触碰红外接收头,进中断了。这一种情况下怎么办呢??[ ...

估计也只能软件滤波了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

569

帖子

3

粉丝