关于IO中断去抖问题~

2019-03-24 10:11发布

小弟最近在玩msp430f149开发板,我用它搭了一个红外检测电路(买的现成的模块),检测液体滴定的速度~~~


之前看过郭天祥的视频,了解按键去抖可以使用延时函数,我测试了下,这里使用延时函数的效果不是很好

请问大神:我想实时检测IO口中断,使用的是上升沿中断,当红外检测电路检测到液体,会产生一个高电平。

如果不想在中断服务函数中使用延时函数,还有什么其它去抖的好办法吗(针对msp430单片机)?恳请赐教!!!

如下是我使用延时的中断服务程序


#pragma vector=PORT1_VECTOR

__interrupt void Port_1(void)

{

        

        P1IFG &= ~BIT0;  

        counter_val++;  

        Delay_us(1000);

}




此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
bobde163
2019-03-25 11:34
如果是使用中断进行判断则只能在中断程序里进行消抖操作,要不可在中断中置一个标志位,然后在主程序的大循环里使用case语句进行类延时判断,有点像多次采样来决定是否事件发生了的样子,希望能对楼主有帮助

一周热门 更多>

相关问题

    相关文章