GPIO的使用--点亮外接小灯泡--开关控制

目录

一、确定引脚接线模式

接线时注意以下几点:

二、外接小灯泡引脚连接(以F12引脚为例)

1.正极接GPIOF3.3v电压引脚、负极接F12

2.正极接GPIOF3.3v电压引脚、负极接F12

三、问题检查


一、确定引脚接线模式

小灯泡有两级:正极、负极,电流只能从正极流向负极。

接线时注意以下几点:

1.若要USB接口提供电源,则正极接F组引脚,负极接地;输出模式配推挽

gpio_init.GPIO_OType=GPIO_OType_PP;

2.若要板子芯片提供电源,则正极接3.3v电压,负极接引脚;输出模式配开漏

gpio_init.GPIO_OType=GPIO_OType_OD;

二、外接小灯泡引脚连接(以F12引脚为例)

1.正极接GPIOF3.3v电压引脚、负极接F12

#include "stm32f4xx.h"                  // Device header
#include "led.h"
#include "key.h"
#include "BitBand.h"int main()
{Led_Init();Key_Init();uint8_t key=0;//此处为F12引脚的参数配置GPIO_InitTypeDef gpio_init;//五大参数配置gpio_init.GPIO_Mode=GPIO_Mode_OUT;//此处可以设置为开漏,引脚正极已经接芯片3.3v电压,只需提供低电压选择开漏即可gpio_init.GPIO_OType=GPIO_OType_OD;gpio_init.GPIO_Pin=GPIO_Pin_12;gpio_init.GPIO_PuPd=GPIO_PuPd_UP;gpio_init.GPIO_Speed=GPIO_High_Speed;//初始化GPIO_Init(GPIOF,&gpio_init);while(1){//类似PEin();PFout();函数在上一篇文章中已被封装key=PEin(4);if(key==0){PFout(9)=0;PFout(10)=0;PFout(12)=0;PFout(14)=0;}else{PFout(9)=1;PFout(10)=1;PFout(12)=1;PFout(14)=1;}}
}

结果:

开关控制外接小灯泡1

2.正极接GPIOF3.3v电压引脚、负极接F12

#include "stm32f4xx.h"                  // Device header
#include "led.h"
#include "key.h"
#include "BitBand.h"int main()
{Led_Init();Key_Init();uint8_t key=0;//此处为F12引脚的参数配置GPIO_InitTypeDef gpio_init;//五大参数配置gpio_init.GPIO_Mode=GPIO_Mode_OUT;//此处必须配置为推挽,因为负极引脚接地,只能使用推挽提供高电压gpio_init.GPIO_OType=GPIO_OType_PP;gpio_init.GPIO_Pin=GPIO_Pin_12;gpio_init.GPIO_PuPd=GPIO_PuPd_UP;gpio_init.GPIO_Speed=GPIO_High_Speed;//初始化GPIO_Init(GPIOF,&gpio_init);while(1){key=PEin(4);if(key==0){PFout(9)=0;PFout(10)=0;PFout(12)=0;PFout(14)=0;}else{PFout(9)=1;PFout(10)=1;PFout(12)=1;PFout(14)=1;}}
}

结果:

开关控制外接小灯泡2

三、问题检查

如若灯泡不亮,请按照如下注意点检查一下

1.检查正负极接法。千万不可犯正极接地、负极接电源这种低级错误。

2.检查输出模式配置。如若正极接引脚,负极接地,但是输出模式设为了开漏,那就没法提供高电压了,小灯泡自然不亮。

3.代码电压赋值不对。好好检查代码的书写。

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

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

相关文章

DevOps搭建(二)-VMware安装虚拟机详细步骤

1、下载Centos镜像 官方下载地址: Download 这里我们使用Centos7镜像 下载地址: Index of /centos/7.9.2009/isos/x86_64/ 2、设置固定IP 2.1、VMware的配置 首先打开编辑里面的 虚拟网络编辑器,如图: 进入更改设置之后,进行后面的操作,

pytorch 数据预加载

1. Abstract 本文介绍一个工具 PreDataLoader,它包装 torch.utils.data.DataLoader,接收该类的一个实例 loader,启动一个线程 t,创建一个队列 q,t 将 loader 中的数据预加载到队列 q 中, 以在模型计算时也能启动启动数…

pg数据库备库为什么要在线恢复

在线恢复是 PostgreSQL 和 pgpool-II 环境中一种重要的功能,它允许你在不中断服务的情况下,重新同步或恢复一个陈旧或者损坏的备库(副本)。在线恢复特别重要,因为它能够保持高可用性和最小化停机时间。这在大型数据库系…

3.5毫米音频连接器接线方式

3.5毫米音频连接器接线方式 耳机插头麦克风插头 绘制电路图注意事项 3.5毫米音频连接器分为单声道开关型和无开关型如下图: sleeve(套筒) tip(尖端) ring(环) 耳机插头 麦克风插头 绘制电路图…

【重点】【滑动窗口】76.最小覆盖子串

题目 思路参考《算法小抄》 class Solution {public String minWindow(String s, String t) {int startIndex -1, endIndex s.length(), valid 0, left 0, right 0;char[] sArray s.toCharArray();char[] tArray t.toCharArray();int[] need new int[256];int[] windo…

【软考S01计算机系统知识】E01 中央处理单元

E01 中央处理单元 计算机系统硬件基本组成中央处理单元组成功能 多核 CPU 计算机系统硬件基本组成 计算机系统由硬件和软件组成,基本硬件系统由 运算器、控制器、存储器、输入设备 和 输出设备 5大部件组成; 中央处理单元: 运算器、控制器等…

el-table分页时多选数据的保存和回显

大致思路: 把所有选择的数据全部存到一个大数组中,切页的时候匹配原数据利用ref节点的.toggleRowSelection方法进行回显 具体步骤: 1、勾选和全选时需要判断是选中还是取消,然后更新大数组数据。 2、分页获取新数据之后匹配当…

2023Q4 私有化版本发布,和鲸 ModelWhale 持续赋能大科研、高校教改的 AI for Science

作为数据科学多人协同平台,和鲸 ModelWhale 从一而终地为各级用户提供完备而周全的解决方案,覆盖数据研究、算法探索、模型调优、Python 案例教学等多个场景。特别地,如果对研究分析平台有更高的安全合规要求、希望兼容原有业务系统&#xff…

不懂编程,如何获取全面海量的重要数据?

在大数据和人工智能时代,数据的重要性变得更加突出。以下是数据在这个时代的重要性所体现的几个方面: 决策依据 模型训练 个性化服务 创新驱动 智能决策支持 本文,将介绍两个获取数据的方法 1、利用爬虫框架写采集程序 在前面&#xff…

JIRA 重建索引

JIRA为了增快搜索速度,为所有的问题的字段生成一个索引文件。这个索引文件存在磁盘的一个文件里面, 并且会实时更新。但是有时候某些操作后(例如增加自定义字段),需要重新建索引。 详情请见 Re-indexing after major c…

pg_stat_replication.state 含义

在PostgreSQL中,pg_stat_replication视图提供了有关连接到主服务器的流式复制进程(备用服务器)的信息。该视图中的一个列是state,它指示复制进程的当前状态。 state列可以具有各种值: startup: This WAL sender 刚开始运行 catc…

(华为)网络工程师教程笔记(网工教程)网工入门——3、静态路由路由表的配置

参考文章:【全236集】网络工程师从基础入门到进阶必学教程!通俗易懂,2023最新版,学完即可就业!网工入门_华为认证_HCIA_HCIP_数据通信_网工学习路线 文章目录 13. 网工入门10-静态路由(路由表的配置&#x…

spark3.x 写入hudi报错

报错信息如下: Exception in thread "main" org.apache.hudi.exception.HoodieUpsertException: Failed to upsert for commit time 20231201202516518 at org.apache.hudi.table.action.commit.BaseWriteHelper.write(BaseWriteHelper.java:64) at org.apa…

GORM 多对多many2many 自定义连接表

文章目录 多对多 many2many表结构搭建多对多添加多对多查询多对多的删除、更新 自定义连接表生成表结构操作案例添加文章并添加标签,并自动关联添加文章,关联已有标签给已有文章关联标签替换已有文章的标签查询文章列表,显示标签 自定义连接…

在 Mac 上使用浅色或深色外观

在 Mac 上,选取苹果菜单 >“系统设置”,然后点按边栏中的“外观” 。(你可能需要向下滚动。)选择右侧的“浅色”、“深色”或“自动”。 “浅色”表示不会发生变化的浅色外观。 “深色”表示不会发生变化的深色外观。“深色模式…

JVM中 Minor GC 和 Full GC 的区别

Java中的垃圾回收(Garbage Collection, GC)是自动内存管理的一部分,其主要职责是识别并清除程序中不再使用的对象来释放内存。Java虚拟机(JVM)在运行时进行垃圾回收,主要分为两种类型:Minor GC和…

uniapp 之 短信验证码登录

一、需求 输入手机号码&#xff0c;可以获取验证码。 二、实现效果 点击前&#xff1a; 点击后&#xff1a; 三、代码实现 <template><view class"login"><view class"infobox"><view class"item"><input type…

跟着GPT学习shell脚本,理论与实践相结合的学习计划。(二)

第9周&#xff1a;项目实战 - 实现一个完整的Shell脚本项目 学习目标 应用所学的Shell脚本知识来实现一个实际项目。从规划到实现&#xff0c;经历完整的项目开发流程。 项目建议&#xff1a;自动化服务器健康检查脚本 项目描述&#xff1a; 开发一个Shell脚本&#xff0c;…

使用Java语言判断一个数据类型是奇数还是偶数

判断一个数字类型是奇数&#xff0c;还是偶数&#xff0c;只需要引入Scanner类&#xff0c;然后按照数据类型的定义方式进行定义&#xff0c;比较是按照与2进行整除后的结果&#xff1b;如果余数为零&#xff0c;则代表为偶数&#xff0c;否则为奇数。 import java.util.Scann…

一起学习云计算

目录 前言 一、云计算是什么&#xff1f; 二、云计算的组成 三、交付模型 四、 云部署模式 前言 随着经济社会的迅速发展&#xff0c;人们对于网络资源的要求量也越来越高&#xff0c;随之出现的一系列网络平台及服务也越来越多&#xff0c;对于云计算的出现提供了必…