stm32第五天按键的基础知识

 一:按键连接示意图

按键控制LED灯
软件设计流程
· 初始化系统
o 初始化GPIO外设时钟
o 初始化按键和LED的引脚
• 检测按键输入电平来控制LED灯
o SW2控制灯开
。 SW3控制灯关

1:key.c工程

#include"key.h"
#include"stm32f10x.h"void Key_Init(void)//按键的初始化函数
{//有两个步骤1:初始化按键外设 2:初始化按键时钟GPIO_InitTypeDef Key_Initstruct;//初始化按键结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE );//打开APB2总线下GPIOA和GPIOC的时钟Key_Initstruct.GPIO_Pin=GPIO_Pin_0;//初始化A0引脚Key_Initstruct.GPIO_Mode=GPIO_Mode_IPU;//初始化A0为上拉输入模式,因为上拉模式默认为高电平,按下开关会变为低电平GPIO_Init(GPIOA,&Key_Initstruct);//初始化A0的结构体Key_Initstruct.GPIO_Pin=GPIO_Pin_13;//初始化C13引脚Key_Initstruct.GPIO_Mode=GPIO_Mode_IPU;//初始化C13为上拉输入模式GPIO_Init(GPIOC,&Key_Initstruct);//初始化C13的结构体}

 2:key.h工程

void Key_Init(void);//声明函数

3:主函数main.c工程 

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "Bear.h"
#include "key.h"void delay(uint16_t time)//延时1ms  软件延时粗延时
{uint16_t i=0;while(time --){i=12000;while(i --);}}int  main()
{LED_Init();Bear_Init();//初始化蜂鸣器的引脚GPIO A3Key_Init();//初始化按键的时钟和引脚配置GPIO_SetBits(GPIOA, GPIO_Pin_1); //初始化灯为灭while(1){if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==0)//如果按键SW2 PA0等于0就是按下按键{GPIO_ResetBits(GPIOA, GPIO_Pin_1);//A1输出低电平,灯亮}if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13)==0)//如果按键SW3 PC13等于0就是按下按键{GPIO_SetBits(GPIOA, GPIO_Pin_1);//A1输出高电平,灯灭}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/35255.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xposed模块开发:运行时修改技术

1. Xposed框架核心原理 1.1 运行时架构解析 Android ART Hook机制: graph TD A[目标APP进程] --> B{系统Zygote} B -->|加载Xposed| C[XposedBridge] C --> D[模块1] C --> E[模块2] D --> F[Hook目标方法] E --> F 1.1.1 核心组件交…

【Python学习笔记】一些关于多线程,xls文件读取,PyQt5,PyInstaller打包等问题的解决方案记录

背景: 最近利用休息时间写了个小型exe程序,主要涉及的技术点有:多线程,读取xls文件,基于PyQt5的简单GUI页面,利用PyInstaller打包成exe。虽然有ChatGPT等协助,但难免还是在开发过程中遇到了一些…

基于javaweb的SpringBoot智能相册管理系统图片相册系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

【AI知识管理系统】(一)AI知识库工具测评

嘿,朋友们!🧐你们有没有想过,咱们平日里那些一闪而过的知识笔记、各种碎片化的idea,记录下来之后都是怎么管理的呀? 还有啊,咱们读过的那些书,大家会不会随手写点东西记录一下呢?📝要知道,如果不写的话,很可能过不了多久就全忘得一干二净啦。 😭那多年前记下的…

JVM并发编程AQSsync锁ReentrantLock线程池ThreadLocal

并发编程2 synchronized锁实现**AQS****ReentrantLock实现****JUC 常用类**池的概念 ThreadLocalThreadLocal原理内存泄露强引用:软引用弱引用虚引用ThreadLocal内存泄露 synchronized锁实现 synchronized是一个关键字,实现同步,还需要我们提供一个同步锁对象,记录锁状态,记录…

C++从入门到入土(八)——多态的原理

目录 前言 多态的原理 动态绑定与静态绑定 虚函数表 小结 前言 在前面的文章中,我们介绍了C三大特性之一的多态,我们主要介绍了多态的构成条件,但是对于多态的原理我们探讨的是不够深入的,下面这这一篇文章,我们将…

自带多个接口,完全免费使用!

做自媒体的小伙伴们,是不是经常为语音转文字的事儿头疼? 今天给大家推荐一款超实用的语音转文字软件——AsrTools,它绝对是你的得力助手! AsrTools 免费的语音转文字软件 这款软件特别贴心,完全免费,而且操…

国内首款载重1吨级无人运输机TP1000首飞成功 2026年投入应急救援

大湾区经济网珠海快讯,据央视新闻报道,3月15日上午,国内首款载重1吨级大型无人运输机TP1000在山东成功首飞。该机由中国民航适航标准完全自主研发,起飞重量3.3吨,满载航程达1000公里,具备智能空投功能&…

设计模式Python版 访问者模式

文章目录 前言一、访问者模式二、访问者模式示例 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组…

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例:执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…

书摘 ASP.NET Core技术内幕与项目实战:基于DDD与前后端分离

IT行业的发展瞬息万变,新技术层出不穷,很多技术人员出于个人兴趣、个人职业发展等考虑而选择一些流行的新技术,他们会把各种复杂的架构模式、高精尖的技术都加入架构中,这增加了项目的复杂度、延长了交付周期、增加了项目的研发成本。有些技术并不符合公司的情况,最后项目…

Spring Cloud 负载均衡(Ribbon)- 流量管理与服务调用优化

一、Spring Cloud Ribbon 概述 1、什么是 Spring Cloud Ribbon? Spring Cloud Ribbon 是一个基于客户端的负载均衡器,其核心目标是为微服务架构中的服务调用提供智能流量分发能力。与传统的服务端负载均衡(如 Nginx)不同&#x…

内网环境安装dlv,本地远程调试go

背景:内网环境(服务器)下安装dlv,本地通过dlv调试编译后的go代码。 可以配合观看: 【dlv远程调试-哔哩哔哩】 https://b23.tv/NqPZ5q9 内网安装dlv步骤 1、dlv安装: (我额服务器和内网的go都是1.21以上) # 先在有网络的环境下&#xff08…

C# MVC项目部署II后错误,403禁止访问:访问被拒绝问题处理

C# MVC项目部署II后错误,403禁止访问:访问被拒绝问题处理 问题如下: 解决办法: 1. 应用程序池要选v4.xx,托管模式选“集成” 2. 把asp.net 4.xx安装在iis上,方法: cd \Windows\Microsoft .NE…

基于Flask的东方财富网股票数据可视化分析系统

【大数据】基于Flask的东方财富网股票数据可视化分析系统 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统能够高效地从东方财富网抓取股票数据,并通过Python的强大数据处理能…

整形在内存中的存储(例题逐个解析)

目录 一.相关知识点 1.截断: 2.整形提升: 3.如何 截断,整型提升? (1)负数 (2)正数 (3)无符号整型,高位补0 注意:提升后得到的…

HarmonyOS第26天:应用发布与推广全攻略:从0到1走向市场

一、引言:开启 HarmonyOS 应用之旅 在数字化时代的浪潮中,HarmonyOS 以其独特的分布式理念和强大的跨设备协同能力,为应用开发领域开辟了一片崭新的天地。随着 HarmonyOS 市场份额的稳步增长,其生态设备数量已突破 9 亿大关,吸引了超过 254 万开发者投身其中 ,成为了开发…

【操作系统安全】任务4:Windows 系统网络安全实践里常用 DOS 命令

目录 一、引言 二、网络信息收集类命令 2.1 ipconfig 命令 2.1.1 功能概述 2.1.2 实例与代码 2.2 ping 命令 2.2.1 功能概述 2.2.2 实例与代码 2.3 tracert 命令 2.3.1 功能概述 2.3.2 实例与代码 三、网络连接与端口管理类命令 3.1 netstat 命令 3.1.1 功能概述…

《我的Python觉醒之路》之转型Python(十五)——控制流

[今天是2025年3月17日,继续复习第一章节、第二章节的内容 ] 《我的Python觉醒之路》之转型Python(十四)——控制流

通过 SVG 使用 AI 生成理想图片:技术实现与实践指南

文章目录 1. SVG 与 AI 的结合:技术价值2. 技术原理:AI 如何生成 SVG?3. 实现步骤:从需求到图形3.1 定义需求3.2 使用 AI 生成 SVG3.3 验证与调整 4. 代码解析:实现科技感的关键4.1 渐变背景4.2 网格线条4.3 发光六边形…