申明计数变量 cnt和 计数标志位 flag
按下按键后 触发中断 flag
注意:在syshandler里面 判断flag是否为高 若为高 说明启动了按键开始计数
cnt 每一毫秒就加1
在循环 或者其他任务循环中可以判断cnt是否为15 15ms之后肯定cnt达到15 这时候再判断 key的值是否还是低 就判断出来了key是否按下了 这样做的消抖 我认为优点是不用等待传统的HAL_delay 带来的阻塞问题 因为syshandler是肯定要执行的 不如利用这个 来进行一些改进 甚至还可以利用这个中断来进行时间片的轮询任务等等都是值得学习的
本文介绍了如何通过声明计数变量cnt和中断标志位flag来检测按键输入,利用中断机制实时检测按键并消除重复触发,避免HAL_delay带来的阻塞,提升程序响应效率,同时可用于时间片轮询等任务设计。
896

被折叠的 条评论
为什么被折叠?



