当前位置: 首页 > news >正文

GPIO的使用--操作PE02 PE03 PE04实现开关控制灯泡亮灭

效果:

开关控制灯的亮灭

目录

1.找到引脚组别(DEFG)

led灯硬件结构

开关硬件结构

2.时钟使能

3.GPIO时钟控制

4.控制实现思路 

5. 完整代码

6.视频演示


1.找到引脚组别(DEFG)

开关的引脚组别--E;LED灯的引脚组别--F

led灯硬件结构

开关硬件结构

2.时钟使能

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);          //LED
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);          //KEY

3.GPIO时钟控制

//LED--GPIO参数配置GPIO_InitTypeDef led_gpio;                   //定义变量led_gpio.GPIO_Mode = GPIO_Mode_OUT;          //引脚以输出方式工作led_gpio.GPIO_OType = GPIO_OType_PP;         //推挽led_gpio.GPIO_Pin = GPIO_Pin_10;led_gpio.GPIO_Speed=GPIO_High_Speed;         //gpio的反应速率,不太影响led_gpio.GPIO_PuPd=GPIO_PuPd_UP;             //上拉  GPIO_PuPd_DOWN 下拉//GPIO_PuPd_NOPULL    GPIO_Init(GPIOF,&led_gpio);                  //初始化变量
//KEY--GPIO参数配置GPIO_InitTypeDef key_gpio;                  //定义变量key_gpio.GPIO_Mode = GPIO_Mode_IN;          //引脚以输入方式工作key_gpio.GPIO_OType = GPIO_OType_PP;        //推挽key_gpio.GPIO_Pin =  GPIO_Pin_4;            //第几根引脚key_gpio.GPIO_Speed=GPIO_High_Speed;        //gpio的反应速率,不太影响key_gpio.GPIO_PuPd=GPIO_PuPd_UP;            //上拉  //取决于所调用的结构GPIO_Init(GPIOE,&key_gpio);                 //初始化

4.控制实现思路 

while(1)                   //大循环体,保证一直在运行,被控制{key0= GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4);   //默认高电平,按下,接地if(key0==1){GPIO_WriteBit(GPIOF, GPIO_Pin_10,1);         //led高电平,灯灭}else{GPIO_WriteBit(GPIOF, GPIO_Pin_10,0);         //led高电平,灯亮}    }

5. 完整代码

#include "stm32f4xx.h"                  // Device headerint main()
{//时钟使能--LEDRCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);//GPIO时钟控制  //参数配置//让程序决定第几组第几根引脚,如何工作GPIO_InitTypeDef led_gpio;led_gpio.GPIO_Mode = GPIO_Mode_OUT;    //引脚以输出方式工作led_gpio.GPIO_OType = GPIO_OType_PP;	 //推挽led_gpio.GPIO_Pin =  GPIO_Pin_9| GPIO_Pin_10 |GPIO_Pin_8;led_gpio.GPIO_Speed=GPIO_High_Speed;      //gpio的反应速率,不太影响led_gpio.GPIO_PuPd=GPIO_PuPd_DOWN;          //上拉  GPIO_PuPd_DOWN 下拉//GPIO_PuPd_NOPULLGPIO_Init(GPIOF,&led_gpio);GPIO_SetBits(GPIOF, GPIO_Pin_9);GPIO_SetBits(GPIOF, GPIO_Pin_10);uint16_t key0=0;//时钟使能--KEY开关RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);//GPIO时钟控制  //参数配置//让程序决定第几组第几根引脚,如何工作GPIO_InitTypeDef key_gpio;key_gpio.GPIO_Mode = GPIO_Mode_IN;        //引脚以输入方式工作key_gpio.GPIO_OType = GPIO_OType_PP;	    //推挽key_gpio.GPIO_Pin =  GPIO_Pin_4| GPIO_Pin_3 |GPIO_Pin_2;//第几根引脚key_gpio.GPIO_Speed=GPIO_High_Speed;      //gpio的反应速率,不太影响key_gpio.GPIO_PuPd=GPIO_PuPd_UP;          //上拉  GPIO_PuPd_DOWN 下拉//GPIO_PuPd_NOPULLGPIO_Init(GPIOE,&key_gpio);               //初始化while(1){//uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);key0= GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4);//默认高电平,按下,接地if(key0==1){GPIO_WriteBit(GPIOF, GPIO_Pin_10,1);//led高电平,灯灭}else{GPIO_WriteBit(GPIOF, GPIO_Pin_10,0);	//led高电平,灯亮}	}
}

6.视频演示

开关控制灯的亮灭

PE02、PE03原理与PE04相同

相关文章:

GPIO的使用--操作PE02 PE03 PE04实现开关控制灯泡亮灭

效果: 开关控制灯的亮灭 目录 1.找到引脚组别(DEFG) led灯硬件结构 开关硬件结构 2.时钟使能 3.GPIO时钟控制 4.控制实现思路 5. 完整代码 6.视频演示 1.找到引脚组别(DEFG) 开关的引脚组别--E;LED灯的引脚组别--F led灯硬件结构 开关硬件结构…...

【算法萌新闯力扣】:回文链表

力扣题目:回文链表 开篇 今天是备战蓝桥杯的第23天。我加入的编程导航算法通关村也在今天开营啦!那从现在起,我的算法题更新会按照算法村的给的路线更新,更加系统。大家也可以关注我新开的专栏“算法通关村”。里面会有更全面的知…...

php站点伪静态配置(Apache+Linux)

404报错&#xff1a; 404 Not Found nginx/1.15.11 问题解决&#xff1a; 1、Linux location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s/$1 last; } } 2、Apache <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQU…...

Figma 插件学习(二)- 常用属性和方法

一. 如何调试figma插件 Plugins > Development > Show/Hide console 打开控制台即可开始调试 二.节点类型 根据不同的节点类型&#xff0c;也是会有不同的方法和属性&#xff0c;介绍几个常用节点类型 1.FrameNode 框架节点是用于定义布局层次结构的容器。它类似于HTM…...

基于Flutter的图片浏览器的实现

一 效果展示&#xff1a; 1. 图片展示&#xff1a; 2.混色&#xff0c;平铺&#xff0c;拉伸&#xff0c;原图展示 二 实验准备&#xff1a; 1.在包结构中创建images包来存放我们用到的图片&#xff0c;在pubspec.yaml中声明路径&#xff1a; 2. 检查虚拟机是否正常运行&…...

STM32-使用固件库新建工程

参考链接: 【入门篇】11-新建工程—固件库版本&#xff08;初学者必须认认真真看&#xff09;_哔哩哔哩_bilibili 使用的MCU是STM32F103ZET6 。 这篇参考的是野火的资料&#xff0c;可以在“野火大学堂”或者它的论坛上下载。&#xff08;我通常是野火和正点原子的资料混着看的…...

商用车量产智能驾驶路径思考

1、商用车量产智能驾驶特点 2、量产自动驾驶路径 3、商用车ADAS法规件 4、高等级自动驾驶...

flink消费kafka限制消费速率

flink版本1.14 别的版本类似 需要速率限制的情况 1.任务异常在停止的时间内大量数据挤压 2.新任务上线需要铺底数据,消费几天前的数据 在不增加内存和并行度的情况下,如果任务启动可能会造成oom,这时需要进行速率限制。 前提 漏桶算法(Leaky Bucket Algorithm): 原…...

搭建Appium工具环境

1、安装Java Development Kit&#xff08;JDK&#xff09; 前往Oracle官网下载JDK。 在https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 找到最新版本的JDK。根据操作系统选择适合的版本&#xff0c;并根据指示下载安装程序。 安装JDK。运行下载的安…...

【面经八股】搜广推方向:常见面试题(六)

【面经&八股】搜广推方向:常见面试题(六) 文章目录 【面经&八股】搜广推方向:常见面试题(六)1. Memorization 和 Generalization2. Wide 和 Deep3. Cross-product transformation4. 推荐系统划分5. 线性模型6. Embedding-Based 模型7. 推荐系统工作流程8. Wide P…...

6.前端--CSS-基础选择器【2023.11.26】

1.CSS基本选择器 标签选择器&#xff1a; 标签选择器&#xff08;元素选择器&#xff09;是指用 HTML 标签名称作为选择器&#xff0c;按标签名称分类&#xff0c;为页面中某一类标签指定统一的 CSS 样式。标签选择器可以把某一类标签全部选择出来&#xff0c;比如所有的 <…...

Java制作“简易王者荣耀”小游戏

第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 GameFrame 运行类 package com.sxt;import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; im…...

正则表达式例题-PTA

PTA-7-55 判断指定字符串是否合法-CSDN博客 7-54 StringBuffer-拼接字符串 题目&#xff1a; 输入3个整数n、begin、end。 将从0到n-1的数字拼接为字符串str。如&#xff0c;n12&#xff0c;则拼接出来的字符串为&#xff1a;01234567891011 最后截取字符串str从begin到end(包…...

基于Python的南京二手房数据可视化分析的设计与实现

点我完整下载&#xff1a;基于Python的南京二手房数据可视化分析的设计与实现.docx 基于Python的南京二手房数据可视化分析的设计与实现 "Design and Implementation of Python-based Visualization Analysis for Nanjings Second-hand Housing Data" 目录 目录 2 摘…...

软件特征与类型

软件包括计算机系统中的程序和文档&#xff0c;它是一组能完成特定任务的二进制代码。 ▶1.软件的特性 1)软件是一种逻辑元素 软件是逻辑的而非物理的元素&#xff1b;软件是设计开发的&#xff0c;而不是生产制造的。虽然软件开发和硬件制造存在某些相似点&#xff0c;但二…...

无人机遥控器方案定制_MTK平台无人设备手持遥控终端PCB板开发

随着科技的不断发展和无人机技术的逐步成熟&#xff0c;无人机越来越受到人们的关注。作为一种高新技术&#xff0c;无人机的应用范围不断拓展&#xff0c;包括农业、环境监测、城市规划、运输物流等领域。同时&#xff0c;无人机的飞行控制技术也得到了不断的优化和提升。 早…...

【C++】静态成员

静态成员就是在成员变量和成员函数前加上关键字static&#xff0c;称为静态成员。 静态成员分为&#xff1a; 静态成员变量 所有对象共享同一份数据在编译阶段分配内存类内声明&#xff0c;类外初始化 静态成员函数 所有对象共享同一个函数静态成员函数只能访问静态成员变量 …...

单片机学习10——独立按键

独立按键输入检测&#xff1a; #include<reg52.h>sbit LED1P1^0; sbit KEY1P3^4;void main() {KEY11;while(1){if(KEY10) //KEY1按下{LED10; //LED1被点亮}else{LED11;}} } 按键 #include<reg52.h>#define uchar unsigned char #define uint unsigned intsbit …...

微服务系列(三)--通过spring cloud zuul过滤器实现线上流量复制

思路 补充一下&#xff0c;为什么这里我会想到使用"pre"类型的过滤器实现流量复制/流量镜像。 刚开始的时候&#xff0c;参考了阿里的流量镜像实现方案&#xff1a; 配置流量复制策略&#xff0c;阿里的方案本身是对基于云原生envoy做的&#xff0c;这确实是istio原…...

微信小程序image组件图片设置最大宽度 宽高自适应

问题描述&#xff1a;在使用微信小程序image组件的时候&#xff0c;在不确定图片宽高情况下 想给一个最大宽度让图片自适应&#xff0c;按比例&#xff0c;image的widthfiex和heightFiex并不能满足&#xff08;只指定最大宽/高并不会生效&#xff09; 问题解决&#xff1a;使用…...

Pixel Dream Workshop 创意激发:利用算法生成无限可能的艺术图案与纹理

Pixel Dream Workshop 创意激发&#xff1a;利用算法生成无限可能的艺术图案与纹理 1. 当算法遇见艺术&#xff1a;数字创作的新纪元 在传统艺术创作中&#xff0c;设计师们常常需要花费大量时间手工绘制图案和纹理。而如今&#xff0c;Pixel Dream Workshop的出现彻底改变了…...

Qwen3-14B私有部署镜像Node.js环境配置与API服务搭建

Qwen3-14B私有部署镜像Node.js环境配置与API服务搭建 1. 开篇&#xff1a;为什么选择Node.js对接Qwen3-14B 如果你正在寻找一个高效的方式来将Qwen3-14B大模型集成到你的应用中&#xff0c;Node.js可能是最合适的选择。作为现代JavaScript运行时&#xff0c;Node.js的非阻塞I…...

YOLO12与YOLO11对比:新一代模型在精度和速度上有哪些提升?

YOLO12与YOLO11对比&#xff1a;新一代模型在精度和速度上有哪些提升&#xff1f; 1. 引言 目标检测技术作为计算机视觉领域的核心任务之一&#xff0c;其发展一直备受关注。YOLO(You Only Look Once)系列模型因其出色的实时性能而广受欢迎。2025年&#xff0c;Ultralytics推…...

智能学习伙伴:OpenClaw+Qwen3.5-9B构建个性化背单词系统

智能学习伙伴&#xff1a;OpenClawQwen3.5-9B构建个性化背单词系统 1. 为什么需要AI驱动的背单词系统 背单词这件事我坚持了十几年&#xff0c;从纸质单词本到各类APP&#xff0c;始终被两个问题困扰&#xff1a;一是记忆曲线难以严格执行&#xff0c;二是静态词库缺乏语境适…...

YOLOv5与DeepSort结合优化:如何调整参数让目标跟踪更精准(附代码对比)

YOLOv5与DeepSort参数调优实战&#xff1a;提升目标跟踪精度的关键策略 在计算机视觉领域&#xff0c;目标跟踪技术正从实验室快速走向工业应用。当基础功能实现后&#xff0c;如何让系统在实际场景中表现更稳定、更精准&#xff0c;成为开发者面临的核心挑战。本文将深入剖析Y…...

避坑指南:Qt菜单栏triggered信号连接的5个常见错误及解决方法

Qt菜单栏triggered信号连接的5个实战避坑指南 在Qt开发中&#xff0c;菜单栏作为用户交互的重要组件&#xff0c;其点击事件处理看似简单却暗藏玄机。许多开发者都曾掉进过信号槽连接失效、内存泄漏或窗口阻塞的陷阱里。今天我们就来剖析这些高频问题背后的原因&#xff0c;并提…...

如何通过 proc-macro-workshop 快速掌握 Rust 代码生成技术:终极完整指南

如何通过 proc-macro-workshop 快速掌握 Rust 代码生成技术&#xff1a;终极完整指南 【免费下载链接】proc-macro-workshop Learn to write Rust procedural macros  [Rust Latam conference, Montevideo Uruguay, March 2019] 项目地址: https://gitcode.com/gh_mirrors/…...

OpenClaw调试技巧:Qwen3.5-9B任务失败的根本原因分析

OpenClaw调试技巧&#xff1a;Qwen3.5-9B任务失败的根本原因分析 1. 问题背景&#xff1a;当OpenClaw遇上Qwen3.5-9B 上周我尝试用OpenClaw自动化处理一批技术文档&#xff0c;对接的是本地部署的Qwen3.5-9B模型。本以为有了这个90亿参数的"大杀器"&#xff0c;任务…...

告别打印乱码与错位:手把手教你配置SAP Smartforms的CNSAPWIN打印机格式

告别打印乱码与错位&#xff1a;手把手教你配置SAP Smartforms的CNSAPWIN打印机格式 在SAP系统的日常使用中&#xff0c;打印问题是最令人头疼却又无法回避的挑战之一。想象一下&#xff0c;当你精心设计的发票Smartforms报表终于完成&#xff0c;却在打印时发现内容被截断、错…...

网站SEO优化是否需要长期维护

网站SEO优化是否需要长期维护 在当前竞争激烈的互联网环境中&#xff0c;网站的SEO优化已经成为每个企业和个人网站的重要策略之一。许多人在初期投入后&#xff0c;常常会有一个疑问&#xff0c;那就是“网站SEO优化是否需要长期维护&#xff1f;”本文将从问题分析、原因说明…...