STM32F103ZET6【标准库函数开发】------02.2 按键实现短按、长按、双击的效果(非中断方式)

2023-11-08

一、硬件介绍

正点原子战舰开发板
在这里插入图片描述
在这里插入图片描述

LED0-----PB5
LED1-----PE5
KEY0-----PA4

二、实现目的

开机LED0、LED1均熄灭
单击KEY0,LED0点亮、LED1熄灭
双击KEY0,LED0熄灭、LED1点亮
长按,LED0,LED1均熄灭

三、设计思路

1、两个LED对应的IO设置为推挽输出,高电平,保证开机时灯处于熄灭状态
2、按键KEY0设置为上拉输入,按下后为低电平,松手为高电平
3、单击、双击、长按的区别示意图如下
在这里插入图片描述
首先需要区分单击和长按,可以看到长按就是按下的时间比较长的单击。如下图可以看到,如果检测到低电平的时间超过S3那么则是长按,否则就是单击。
在这里插入图片描述
单击和双击的区别,松开后,在一定的时间内是否再次检测到低电平。如下图,在松开手后如果在D2内检

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103ZET6【标准库函数开发】------02.2 按键实现短按、长按、双击的效果(非中断方式) 的相关文章

随机推荐

  • C语言本身是用什么语言写的?

    先说结论 C语言由B语言编写 B语言是由A语言编写 A B C 好了 不开玩笑了 既然你能提出这个级别的问题 说明你应该学过C 既然你能提出这个级别的问题 说明你没学过编译原理 或者全还给老师了 容我不厚道一下下 你所谓的 C语言 准确来说
  • 基于 Flink CDC 高效构建入湖通道

    本文整理自阿里云 Flink 数据通道负责人 Flink CDC 开源社区负责人 Apache Flink PMC Member Committer 徐榜江 雪尽 在 Streaming Lakehouse Meetup 的分享 内容主要分
  • 免费虚拟局域网(VLAN)组建教程

    虚拟局域网 VLAN 是一组逻辑上的设备和用户 这些设备和用户并不受物理位置的限制 可以根据功能 部门及应用等因素将它们组织起来 相互之间的通信就好像它们在同一个网段中一样 由此得名虚拟局域网 虚拟局域网在日常的工作生活中 起着非常大的作用
  • superset的docker安装配置和汉化

    1 docker拉去superset镜像 docker pull amancevice superset 2 启动容器 1 启动容器 docker run d p 8188 8088 name superset v opt docker s
  • 【Latex排版】使用Latex 排版过程中的那些一二三问题汇总

    排版错误问题总结 1 在 maketitle 位置处报错 Missing inserted 2 添加参考文献 编译后显示错误 并且pdf中引用文献处为问号 持续更新问题 近期用Latex整理期刊论文时遇到了不少问题 现把遇到的问题及最终解决
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • React 深度学习:Fiber-ReactFiberLazyComponent

    ReactLazyComponent 包 packages shared ReactLazyComponent js Copyright c Facebook Inc and its affiliates This source code
  • 深入理解线程与并发

    文章目录 计算机硬件与并发 线程与Thread类 线程的特点 线程的优先级 线程控制 总结 个人主页 程序员 小侯 CSDN新晋作者 欢迎 点赞 评论 收藏 收录专栏 Java知识介绍 适用于 Java初学者 希望作者的文章能对你有所帮助
  • go 语言学习笔记 0001 --> iota

    go语言中预置了一个预定义常量 iota 这个东西有个很奇怪的特性 会根据 const 关键字改变值 默认的 iota在const出现的时候会初始化为0 而后不断递加1 直到出现第二个const关键字 const countagn1 2 l
  • java持久层框架mybatis如何防止sql注入

    sql注入大家都不陌生 是一种常见的攻击方式 攻击者在界面的表单信息或url上输入一些奇怪的sql片段 例如 or 1 1 这样的语句 有可能入侵参数校验不足的应用程序 所以在我们的应用中需要做一些工作 来防备这样的攻击方式 在一些安全性很
  • Ubuntu18.04+Docker+Hadoop+Spark分布式集群搭建

    题前记 因为课程需求 下面将搭建过程用学术论文的格式写 其实我并不想写的 没办法 学习作业嘛QAQ 我的联系方式 630056108 文章目录 Docker上的Hadoop大数据平台搭建与测试 1 简介与原理 1 1 Docker介绍 1
  • 电脑安装双系统

    1 准备工具 我们需要安装两个系统 win10和deepin 准备2个u盘 1个u盘使用优启通制作pe 支持uefi启动 1个u盘使用deepin官网上的启动盘制作工具制作启动盘 2 基础知识 2 1 磁盘格式 磁盘格式分为mbr和guid
  • c++: websocket 客户端与服务端之间的连接交互

    目录 socket 头文件 延迟时间 通信协议地址 TCP IP 服务端 客户端 编程步骤 服务端 客户端 编程步骤 1 初始化 WSAStartup 2 创建 socket 2 1 协议族 2 2 socket 类型 2 3 协议 3 绑
  • MS5611气压计 I2C驱动代码 STM32

    文章目录 前言 通信接口 IIC 一 MS5611的5种命令 RESET 重启芯片 READ PROM D1 D2 CONVERSION READ ADC RESULT 二 实现代码 1 初始化 2 读取数据 3 补偿温度数据 前言 这篇博
  • vue3 mitt 替换EventBus

    mitt 在vue3中 on off和 once实例方法已经被移除 我们熟悉的EventBus无法使用 对于这用情况我们使用Mitt库 和EventBus大同小异 1 npm install mitt S 2 mian js ts 初始化
  • C++解决报错无法打开源文件“json/json.h“

    C 解决报错无法打开源文件 json json h 报错详情 解决步骤 1 安装vcpkg 2 安装报错的依赖包 3 在VisualStudio中添加刚才生成的目录 报错详情 解决步骤 1 安装vcpkg https vcpkg io en
  • 【OJ比赛日历】快周末了,不来一场比赛吗? #01.07-01.13 #12场

    CompHub 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号同时会推送最新的比赛消息 欢迎关注 更多比赛信息见 CompHub主页 或 点击文末阅读原文 以下信息仅供参考 以比赛官网为准 目录
  • 别吹 你不一定会define

    目录 1 define的介绍 1 1 概念 1 2 补充说明 1 3 C语言预处理的三个内容 2 define的使用 2 1 define用于防止头文件重复包含 2 2 define 的定义与撤销 2 2 1 定义 2 2 2 撤销 2 3
  • 数据处理中 男性变为1 女性变为0

    knn train Sex knn train Sex male 1 knn train Sex knn train Sex female 0
  • STM32F103ZET6【标准库函数开发】------02.2 按键实现短按、长按、双击的效果(非中断方式)

    一 硬件介绍 正点原子战舰开发板 LED0 PB5 LED1 PE5 KEY0 PA4 二 实现目的 开机LED0 LED1均熄灭 单击KEY0 LED0点亮 LED1熄灭 双击KEY0 LED0熄灭 LED1点亮 长按 LED0 LED1