[STM32F1] 关于STM32自动进入捕获中断

[复制链接]
3628|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
一觉醒来这种现象再也没出现,,,,,,,,,,,,,,,,,,,晕了。。。。。蛋疼啊 ...

那就加点干扰进去,比如手摸下,估计就进入中断了;
 楼主| 专注于嵌入式 发表于 2014-10-26 14:46 | 显示全部楼层
mmuuss586 发表于 2014-10-25 19:24
那就加点干扰进去,比如手摸下,估计就进入中断了;

TIM2,CH2接的是红外接收头,的确是这样,手不停地触碰红外接收头,进中断了。这一种情况下怎么办呢??
 楼主| 专注于嵌入式 发表于 2014-10-26 14:47 | 显示全部楼层
专注于嵌入式 发表于 2014-10-26 14:46
TIM2,CH2接的是红外接收头,的确是这样,手不停地触碰红外接收头,进中断了。这一种情况下怎么办呢??[ ...

估计也只能软件滤波了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

569

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部