day3 STM32 GPIO口介绍

GPIO接口简介

通用输入输出接口GPIO是嵌入式系统、单片机开发过程最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。

GPIO功能复用

GPIO复用是指将一个GPIO引脚用于多种不同的功能。在现代电子设备中,GPIO引脚的数量通常是有限的,因此,为了实现更多的功能,需要使用GPIO复用技术。(具体复用功能查看《STM32F0数据手册》)

GPIO寄存器介绍

STM32F051 - GPIO常用寄存器:

4个32位配置寄存器:

         GPIOx_MODER、GPIOx_OTYPER、  GPIOx_OSPEEDR 、 GPIOx_PUPDR

2个32位数据寄存器:

        GPIOx_IDR 、GPIOx_ODR 

1个32位置位 / 复位寄存器

        GPIOx_BSRR;

2个32位复用功能配置集训期

        GPIOx_AFRH、GPIOx_AFRL

注:每一组GPIO端口都有一套上述的寄存器去配置他自己的功能;

GPIO工作原理图

 

GPIO寄存器OTYPEP:

位 31:16 ——保留,必须保持为复位值。

位15:0  OTy[1:0] ,端口x的配置为(y = 0 ..15)这些位可由软件写来配置I/O口的输出类型

        0:推挽输出(复位状态),正常状况下使用

                此模式正常输出高低电平,P-MOS管工作输出高电平:N-MOS管工作输出低电平; 

        1:开漏输出 , 适用于电流型驱动

                此模式下有可能得不到高电平,因为此状态下P-MOS管不工作,若想得到高电平可配置上下拉电阻实现。

  GPIO寄存器OSPEEDR:
                    

  GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)

     偏移地址: 0x08

     复位值: 0x0000 0000

 GPIO寄存器PUPDR:

 

   GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)

     偏移地址: 0x0C

     复位值:

    ● 0x2400 0000 端口 A

    ● 0x0000 0000 其它端口

GPIO寄存器IDR:

 

   GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..D,F)

     偏移地址: 0x10

     复位值: 0x0000 XXXX (X 表明不定 )

GPIO寄存器ODR:

 

 

  GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..D,F)

     偏移地址: 0x14

     复位值: 0x0000 0000
 

GPIO寄存器BSRR:

 

   GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) (x = A..D,F)

     偏移地址: 0x18

     复位值: 0x0000 0000

GPIO寄存器AFRL:

 

   GPIO 复用功能低位寄存器 (GPIOx_AFRL) (x = A..B)

      偏移地址: 0x20

      复位值: 0x0000 0000

GPIO寄存器AFRH:

  •  

 

  GPIO 复用功能低位寄存器 (GPIOx_AFRH) (x = A..B)

      偏移地址: 0x24

      复位值: 0x0000 0000
 

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

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

相关文章

【设计模式——学习笔记】23种设计模式——状态模式State(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基本介绍登场角色应用场景 案例实现案例一类图实现 案例二:借贷平台源码剖析传统方式实现分析状态修改流程类图实现 案例三:金库警报系统系统的运行逻辑伪代码传统实现方式使用状态模式 类图实现分析问题问题一问题二 总结文章说明…

国内芯片厂商创新突破,助力国产替代持续加速

近日,中商产业研究院发布最新研究报告显示,今年1~5月份中国进口集成电路为1865亿件,同比下降19.6%,同比去年5个月累计少进口了455亿颗,平均每天少进口3亿颗。与此同时,英特尔、AMD、美光、三星、SK海力士等…

OSI七层模型和TCP/IP四层模型

OSI七层模型和TCP/IP四层模型 七层模型(OSI) OSI七层模型(Open Systems Interconnection Reference Model)是一个用于计算机网络体系结构的标准化框架,旨在定义网络通信中不同层次的功能和协议。 各个层次具体如下: 物理层&am…

C语言 冒泡排序

目录 一、原理 二、代码演示 三、代码优化 一、原理 假设: int arr[] { 9,8,7,6,5,4,3,2,1,0 }; 将 arr 内的元素进行升序排列,得到一个新的数组 int arr[] { 0,1,2,3,4,5,…

Python学习笔记_基础篇(二)_数据类型之字符串

一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list 列表用[] 元祖:tuple 元祖用() 字典:dict 注:所有的数据类型都存在想对应…

ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)

ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960) 二、CVE-2022-23960 一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960) Title TF-A披露通过分支预测目标重用(branch prediction target reuse)引发的前瞻执行处理器漏洞 CV…

【软考】2023系统架构设计师考试

目录 1 软考资格设置 2 考试报名 3 考试准备 4 参加考试 5 考试感受 6 其他 1 软考资格设置 2 考试报名 报名网址:https://www.ruankao.org.cn/ 3 考试准备 4 参加考试 2023年下半年系统架构设计师考试时间为11月4、5日。 5 考试感受 6 其他 最近好像有地区…

vue element 多图片组合预览

定义组件&#xff1a;preview-image <template><div><div class"imgbox"><divclass"preview-img":class"boxClass"v-if"Imageslist 3 ||Imageslist 5 ||Imageslist 7 ||Imageslist 8 ||Imageslist > 9"&…

LangChain手记 Models,Prompts and Parsers

整理并翻译自DeepLearning.AILangChain的官方课程&#xff1a;Models,Prompts and Parsers 模型&#xff0c;提示词和解析器&#xff08;Models, Prompts and Parsers&#xff09; 模型&#xff1a;大语言模型提示词&#xff1a;构建传递给模型的输入的方式解析器&#xff1a;…

即将发布的 Kibana 版本可运行 Node.js 18

作者&#xff1a;Thomas Watson Kibana 构建在 Node.js 框架之上。 为了确保每个 Kibana 版本的稳定性和使用寿命&#xff0c;我们始终将捆绑的 Node.js 二进制文件保持为最新的最新长期支持 (LTS) 版本。 当 Node.js 版本 18 升级到 LTS 时&#xff0c;我们开始将 Kibana 升级…

【爬虫】爬取旅行评论和评分

以马蜂窝“普达措国家公园”为例&#xff0c;其评论高达3000多条&#xff0c;但这3000多条并非是完全向用户展示的&#xff0c;向用户展示的只有5页&#xff0c;数了一下每页15条评论&#xff0c;也就是75条评论&#xff0c;有点太少了吧&#xff01; 因此想了个办法尽可能多爬…

【 BERTopic应用 02/3】 分析卡塔尔世界杯推特数据

摄影&#xff1a;Fauzan Saari on Unsplash 一、说明 这是我们对世界杯推特数据分析的第3部分&#xff0c;我们放弃了。我们将对我们的数据进行情绪分析&#xff0c;以了解人们对卡塔尔世界杯的感受。我将在这里介绍的一个功能强大的工具包是Hugging Face&#xff0c;您可以在…

高忆管理:策略:短期利空落地 市场有望企稳回升

高忆管理指出&#xff0c;基于A股商场出资环境分析&#xff0c;尤其是当时商场存量博弈为主的布景下&#xff0c;主张重视以下“21”主线轮动&#xff1a;&#xff08;1&#xff09;国产科技代替立异&#xff1a;电子&#xff08;半导体、消费电子&#xff09;、通信&#xff0…

Vue基本知识

一、vue入门 Vue为前端的框架&#xff0c;免除了原生js的DOM操作。简化书写。 基于MVVM的思想&#xff0c;实现数据的双向绑定&#xff0c;使编程的重点放在数据上。 1、引入vue.js文件 2、定义vue核心对象&#xff0c;定义数据模型 3、编写视图 //1、引入vue.js <scr…

关于vue,记录一次修饰符.stop和.once的使用,以及猜想。

内置指令 | Vue.js 在vue的api里&#xff0c;关于v-on有stop和once两个事件标签。 .stop - 调用 event.stopPropagation()。.once - 最多触发一次处理函数。 原有主要代码和页面效果 &#xff08;无stop和once&#xff09;: ...<div class"div" click"di…

激活函数总结(九):Softmax系列激活函数补充(Softmin、Softmax2d、Logsoftmax)

激活函数总结&#xff08;九&#xff09;&#xff1a;Softmax系列激活函数补充 1 引言2 激活函数2.1 Softmin激活函数2.2 Softmax2d激活函数2.3 Logsoftmax激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、S…

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …

响应式设计是什么?怎么学习? - 易智编译EaseEditing

响应式设计是一种用于创建能够适应不同设备和屏幕尺寸的网站和应用程序的设计方法。它的目标是确保网站在各种设备上都能提供良好的用户体验&#xff0c;无论是在大屏幕的桌面电脑上还是在小屏幕的移动设备上。 在响应式设计中&#xff0c;页面的布局、字体、图像和其他元素会…

【yml文件的解释】

目录 一、yml的简介二、手写yml文件进行配置三、使用yaml格式导出生成模板四、deployment.yaml文件详解五、Pod yaml文件详解六、Service yaml文件详解 一、yml的简介 Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式&#xff1a;主要用于 api 接口之间消息的传递 Y…

路由器和交换机的区别

交换机和路由器的区别 交换机实现局域网内点对点通信&#xff0c;路由器实现收集发散&#xff0c;相当于一个猎头实现的中介的功能 路由器属于网络层&#xff0c;可以处理TCP/IP协议&#xff0c;通过IP地址寻址&#xff1b;交换机属于中继层&#xff0c;通过MAC地址寻址(列表)…