c - STM32 Discovery可以区分短按和长按按钮吗
问题描述
如果我可以在我的项目中实现长短按钮推送,它将派上用场。我正在使用 STM32F4 Discovery Kit 并用 C 对其进行编程。我准备了一个引脚作为外部输入,我修改了中断处理程序。
我现在将它设置为在下降和上升时触发。我看不到如何检测长短推的明显方法。有什么办法吗?
解决方案
一种选择是在按下按钮后立即启动计时器,在释放按钮后停止计时器。根据计时器中经过的滴答数,您可以采取正确的操作,但是您需要确定阈值滴答数以区分长按和短按。
作为对上述建议的改进。您可以配置为 IO 中断源,而不是将按钮连接到的引脚配置为 GPIO。此方法也有助于您解决谴责问题。
推荐阅读
- postgresql - 列到行和值作为新列 postgresql
- python-3.x - 使用boto3,从整个文件夹或文件从一个s3存储桶复制到同一区域的另一个存储桶时,如何提供访问密钥和秘密访问密钥?
- sql - SQL:将小跨度变成1个大的连续跨度
- java - popuppanel 由另一个 popuppanel 上的超链接的 clickhandler 调用
- java - XSD Schema 元素可以是两种类型之一
- outlook-web-addins - 如何从 OWA 上的服务器刷新 Office.context.roamingSettings?
- d3.js - D3 缩放和鼠标悬停工具提示
- amazon-web-services - Cloud Formation - 无法上传模板文件
- python - 如何迭代定义数据框并将它们像 csv 一样导出
- flutter - 尝试使用类型转换获取 Firestore 快照