欢迎光临东莞市恒祺电子科技有限公司官网!
东莞市恒祺电子科技有限公司Dongguan Hengqi Electronic Technology Co., Ltd.
专业开关、插座、连接器制造
全国咨询热线:0769-8533095913712077807

东莞市恒祺电子科技有限公司

Dongguan Hengqi Electronic Technology Co., Ltd.

全国咨询热线:0769-85330959
当前位置:首页 > 新闻资讯 > 行业资讯 >

关于开关检测的一些常见问题浅析

时间:2022-02-19 编辑:佚名 点击:

对于那些特殊的开关检测信号,可能需要使用比典型的更长或更短的消抖时间,我们只需要设置开关信号对应的SWITCH_ID令牌结构体变量的滤波次数过滤时间(见上文程序)。 说到这里,有些不喜欢看代码的同学可能就不太清楚了,在这里,帮大家把话说到底,花钱买回笔墨,详细介绍一下。 首先,设置一个10ms定时器,在中断服务程序中执行开关检测信号检测。

在我们的例子中,考虑它的中断服务程序(ISR)执行以下Io Input Detect函数。 (需要说明的是,我们通常不会在停机程序中执行这种耗时的过程,这里仅供您理解。)

在此函数中,每个开关检测(标识为SWITCH_ID)的当前状态在Read Io Switch函数中读取并分配给其cursw,应该注意的是,cursw代表的是当前的开关状态,而不是滤波处理的稳定的关闭检测状态。 根据每个开关检测的当前状态cursw,判断其稳定的开关检测状态switch_state,开关检测动作swon_event和swoff_event。 即在for循环中执行的Sw Detect函数。

在线客服
联系方式

热线电话

13712077807

公司电话

0769-85330959

二维码
线