蓝桥杯——按键

news/2025/2/23 19:47:35

一:按键得原理图

二:按键的代码配置

step1  按键原理图对应引脚配置为输入状态

step2  在GPIO中将对应引脚设置为上拉模式

step3  在fun.c中写按键扫描函数

写完后的扫描函数需放在主函数中不断扫描

扫描函数主要通过两个定义变量的值来判断,一个当前状态变量state读取对应按键引脚的gpio值,一个last_state 变量在判断条件结束后赋予当前state的值,state重新获取gpio值如此循环

三:长按键和短按键

1.基础依据

定时器开始时cnt就会从0开始一直加,直到cnt=arr+1时产生定时器中断,cnt=0又开始加一直反复

我们需要计算cnt每次加一所需要的时间t0是多少,t0根据公式推导,t0=(psc+1)/f(f为系统频率为8000),

此外还可以通过cnt来求cnt为某值(如cnt=10000)所需要的时间t,如此得到长按键的思路,按键按下时令cnt=0;用if语句判断cnt是否大于1000(即按键是否按下超过一秒钟),如果是长按键则在if语句中些需要进行的操作

2.长按键配置

step1.另外配置一个定时器(TIM3,钟源选内部时钟,配置psc值)

注意定时器中断不用打开,直接生成代码

step2.按照基础依据写代码,设置为1,因为初始化时默认为0,不设为1就会直接一开始时就认为按键B1按下松开count+=2;

注意:定时器配置时有中断要使能,没有中断也要使能,有IT说明与中断有关,即有中断的TIM用带IT的函数语句使能,没有中断的TIM用没有IT的使能

我们上述配置时为按键长按一秒的配置,如果想改长按时间不需重新配置,只要改代码的cnt比较值就好


http://www.niftyadmin.cn/n/5863718.html

相关文章

车载诊断架构 --- LIN节点路由转发注意事项

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

先进制造aps专题三十 用免费生产排程软件isuperaps进行长期生产计划制定

isuperaps是生产排产软件,同时也可以用来制定长期生产计划 通过isuperaps制定长期生产计划,一个指导原则就是大bom, 单工序,大bom的意思是bom中只包含主要的半成品和原料,单工序的意思是半成品/产品生产以工厂或车间为基本生产单…

【ACM独立出版丨EI检索稳定丨高录用丨Fellow出席演讲】2025年生成式人工智能与数字媒体国际学术会议(GADM 2025)

随着人工智能技术的快速发展,生成式AI在艺术创作、内容生成、用户体验等方面展现出巨大的潜力和挑战。2025年生成式人工智能与数字媒体国际学术会议(GADM 2025)将于2025年3月14-17日召开。本次会议将汇聚来自全球的学术专家、研究者和行业领袖&#xff0…

毕业项目推荐:基于yolov8/yolo11的100种中药材检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

Starlink卫星动力学系统仿真建模第七讲-卫星姿轨控系统(Attitude and Orbit Control System, AOCS)设计规范

以下是一份卫星姿轨控系统(Attitude and Orbit Control System, AOCS)设计规范的框架和核心内容示例,供参考: 卫星姿轨控系统(AOCS)设计规范 1. 总则 1.1 目的 本规范旨在规定卫星姿轨控系统的设计要求、…

[250222] Kimi Latest 模型发布:尝鲜最新特性与追求稳定性的平衡 | SQLPage v0.33 发布

目录 Kimi Latest 模型发布:尝鲜最新特性与追求稳定性的平衡SQLPage v0.33 发布:使用 SQL 构建自定义 UI 和 API! Kimi Latest 模型发布:尝鲜最新特性与追求稳定性的平衡 Kimi 开放平台推出全新模型 kimi-latest,旨在…

SSI用量子计算来玩AI

刚到家,早上说今天回来要写SSI为什么这么牛B,那就必须得写 SSI是什么公司? Safe Super Intelligence 就是中间这个秃子的公司 ilya 前openAI 首席科学家(现在的mark chen确实有点水) Daniel Gross、Ilya Sutskever、Daniel Levy&#xff…

Maven 基础环境搭建与配置(二)

四、本地仓库配置,存储依赖 在 Maven 的世界里,本地仓库就像是一个 “私人储物间”,专门用来存放项目所需的各种依赖构件,如 JAR 包、WAR 包等。当我们构建项目时,Maven 会首先在本地仓库中查找所需的依赖&#xff0c…