STM32——GPIO配置

2023-11-02

一、GPIO八种模式

GPIO的输入输出是对于STM32单片机来说的。以下仅为个人粗略笔记,内部电路分析可参考博客https://blog.csdn.net/k666499436/article/details/123845466

1. 输入

  1. 上拉输入
  2. 下拉输入
  3. 浮空输入
  4. 模拟输入

2. 输出

  1. 复用推挽输出
  2. 普通推挽输出
  3. 复用开漏输出
  4. 普通开漏输出

3. 如何选择GPIO的模式

  1. 先判断对于单片机来说是输入还是输出
  2. 若为输入:①看引脚是否为ADC输入,如果是则为模拟输入;
    ②看引脚悬空时,电压不确定,可为高电平、低电平;
    ③需要高电平-内部有上拉电阻-悬空时为高电平;
    ④需要低电平-内部有下拉电阻-悬空时为低电平;
  3. 若为输出:①有外设-为复用模式;无外设-为普通模式;
    ②只能输出低电平-开漏模式;可输出高电平、低电平-推挽模式。

二、库函数GPIO配置

1. 配置代码

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//打开GPIOE口的时钟	
	GPIO_InitTypeDef GPIO_InitStruct={0};//清零结构体
	//GPIO参数配置
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_2;
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;
	GPIO_Init(GPIOE,&GPIO_InitStruct);//初始化
	GPIO_SetBits(GPIOE,GPIO_Pin_2);//置引脚

2.参数设置

查找固件库使用手册

  1. GPIO初始化
    在这里插入图片描述
    在这里插入图片描述
    注意:
    当某管脚设置为上拉或者下拉输入模式,使用寄存器 Px_BSRR 和 PxBRR
    GPIO_Mode 允许同时设置 GPIO 方向(输入/输出)和对应的输入/输出设置,:位[7:4]对应 GPIO 方向,
    位[4:0]对应配置。GPIO 方向有如下索引
  • GPIO 输入模式 = 0x00
  • GPIO 输出模式 = 0x01
    Table 186. 给出了所有 GPIO_Mode 的索引和编码
    在这里插入图片描述
    例子:
例:
/* Configure all the GPIOA in Input Floating mode */ 
GPIO_InitTypeDef GPIO_InitStructure; 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
GPIO_Init(GPIOA, &GPIO_InitStructure); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32——GPIO配置 的相关文章

  • 【Xilinx Vivado时序分析/约束系列2】FPGA开发时序分析/约束-建立时间

    目录 基本概念 数据结束时间 Data finish time 保持时间门限 保持时间余量 Hold Slack 基本概念 数据结束时间 Data finish time 之前解释了数据达到的时间 对于data arrival time T
  • 理解矩阵(一)

    前不久chensh出于不可告人的目的 要充当老师 教别人线性代数 于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次 很明显 chensh觉得 要让自己在讲线性代数的时候不被那位强势的学生认为是神经病 还是比较难的事情 可怜的chens
  • 区间预测

    区间预测 MATLAB实现QRCNN LSTM卷积长短期记忆神经网络分位数回归时间序列区间预测 目录 区间预测 MATLAB实现QRCNN LSTM卷积长短期记忆神经网络分位数回归时间序列区间预测 效果一览 基本介绍 模型描述 程序设计 参

随机推荐

  • 线扫激光算法原理

    一 线扫激光算法原理 激光器发出的激光束经准直聚焦后垂直入射到物体表面上 表面的散射光由接收透镜成像于探测器的阵列上 光敏面于接收透镜的光轴垂直 如图 当被测物体表面移动x 反应到光敏面上像点位移为x a为接收透镜到物体的距离 物距 b为接
  • 《html学习笔记》列表与表单

    目录 1 列表 1 1列表分为三种 无序 有序 自定义 1 2 无序列表 1 3 有序列表 1 4 自定义列表 2 表单 2 1 表单域 2 2 表单控件 2 3 常用属性 2 4下拉列表 2 5标签 2 6文本域 1 列表 1 1列表分为
  • js两数之和

    两数之和 力扣 第一题 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 数组nums nums 2 7 11 15 target 值是 tar
  • WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制

    WebRTC音视频通话 新增或修改SDP中的码率Bitrate限制参数 之前搭建ossrs服务 可以查看 https blog csdn net gloryFlow article details 132257196 之前实现iOS端调用o
  • SOA微服务案例springboot+mybatis使用gradle构建案例

    SOA系统架构的体现之springboot mybatis框架 题外话 为什么要选用SOA架构 不同种类的操作系统 应用软件 系统软件和应用基础结构 application infrastructure 相互交织 这便是IT企业的现状 一些
  • Java中Integer.valueOf()解读

    我们先看一段代码 public static void main String args Integer i1 20 Integer i2 20 System out println i1 i2 System out println i1
  • java基础实验:定义一个学生类Student,该类中包含的属性有:姓名、性别、高数成绩、线代成绩、C语言成绩等

    Java基础实验 目录 一 实验内容 二 实验过程 1 实验代码 2 实验截图 总结 前言 继续java基础实验的练习 虽然这个实验明明更先完成 这个实验用于输入输出学生基本信息 创建学生类调用函数完成成绩的录入 输出 求平均值等功能 一
  • 采用VMD按照某一坐标轴旋转坐标结构

    关注 M r m a t e r
  • win10 视频合并

    首先打开cmd 然后切换到F盘Media目录 输入命令 copy b f hello mp4回车键 如下图 copy b luanlun QvqYNhrj hello mp4
  • 新手玩转Linux Kernel漏洞之Null Pointer Dereference

    新手玩转Linux Kernel漏洞之Null Pointer Dereference 前言 这是我内核漏洞的入门篇 不是很复杂 希望能给徘徊在门外的小伙伴一点启发 漏洞描述 A NULL pointer dereference occur
  • Hash散列 开放定址法与链地址法

    假设一个数组中表示位置key 0 1 2 3 4 5 6 对应存储的哈希函数为hash key H key的个数为m 开放定址法 H di m 1 线性探测再散列 H i m i 0 1 2 m 1 即di为1 2 3 4 5 6 2 平方
  • C++ 容器中自定义类型 value_type

    现在来看看value type到底有什么用 首先定义两个包装容器 只是对任意类型的值进行了一层包装而已 template
  • python中if __name__='__main__':的解析

    当你打开一个 py文件时 经常会在代码的最下面看到if name main 模块是对象 并且所有的模块都有一个内置属性 name 一个模块的 name 的值取决如何应用模块 如果 import 一个模块 那么模块 name 的值通常为模块文
  • C++程序设计机制:pimpl机制

    1 pimpl机制的作用 pimpl private implementation 其主要作用是解开类的使用接口和实现的耦合 关于耦合性 耦合性 Coupling 也叫耦合度 是对模块间关联程度的度量 耦合的强弱取决于模块间接口的复杂性 调
  • wireshark过滤CAN报文小技巧

    1 使用 acf can 过滤CAN报文 2 过滤某路CAN的报文 或者使用这种方式过滤某路CAN 过滤某条CAN ID的报文
  • 用Echart可视化有向图

    尝试学习使用Echart可视化有向图 直接上代码
  • 1.Linux内核源码组织结构

    参考链接 Linux内核 第一篇博客 Linux内核源码结构组成 1 linux内核的特征 1 linux内核组织形式为整体式结构 2 进程调度方式简单而有效 3 支持内核线程 或称为守护进程 4 支持多种平台的虚拟内存管理 5 虚拟文件系
  • jquery的ajaxForm和submit()搭配使用

    https www jianshu com p b5432cfed790
  • Vue使用filter过滤器格式化时间

    全局创建过滤器将秒数过滤为年月日 时分秒 Vue filter dateFormat function originVal const dt new Date originVal const y dt getFullYear const m
  • STM32——GPIO配置

    文章目录 一 GPIO八种模式 1 输入 2 输出 3 如何选择GPIO的模式 二 库函数GPIO配置 1 配置代码 2 参数设置 一 GPIO八种模式 GPIO的输入输出是对于STM32单片机来说的 以下仅为个人粗略笔记 内部电路分析可参