首页 > 其他 > 详细

rc滤波

时间:2014-08-18 17:46:02      阅读:341      评论:0      收藏:0      [点我收藏+]

这2天在做一个项目,需要用到光电开关检测位置,因为想到stm32有外部中断EXTI功能,就决定用它吧,不用不知道,用了才发现不像想象的那样简单,程序竟然没按预期动作,调试发现中断进入多次,对照手册,没找到外部中断的滤波设置,所以就按以前的老方法,来个软件滤波吧,效果不错,

 1 static unsigned char exti4 = 0; 
 2 void exti(void)
 3 {
 4     exti4 |= GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4);
 5     if((exti4&0xf) == 0xc)      //falling
 6     {
 7        //key3handler(0);
 8         key3handler_up(0);
 9         LED = 1;
10         //printf("fall \r\n");
11     }
12     else if((exti4&0xf) == 0x3) // rising
13     {
14         key3handler(0);
15         LED = 0;
16         //printf("rising \r\n");
17     }
18     exti4 <<= 1;
19 }

在ms中断中调用exti()即可。

rc滤波,布布扣,bubuko.com

rc滤波

原文:http://www.cnblogs.com/mayitbe/p/3919686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!