STM32从入门到精通—GPIO简介

发布者:RadiantEnergy最新更新时间:2023-02-23 来源: zhihu关键字:STM32  入门  精通  GPIO 手机看文章 扫描二维码
随时随地手机看文章

今天通过这篇文章带大家简单地了解一下GPIO,让大家有一个简单的认识,能够尽快应用。


GPIO简介

每个通用I/O端口包括4个32位配置寄存器、2个32位数据寄存器、1个32位置位/复位寄存器、1个32位锁定寄存器和2个32位复用功能选择寄存器。


GPIO主要特性

  • 受控I/O多达16个

  • 输出状态:推免或开漏+上拉/下拉

  • 从输出数据寄存器或外设输出数据

  • 可为每个I/O选择不同的速度

  • 输入状态:浮空、上拉/下拉、模拟

  • 将数据输入到输入寄存器或外设

  • 置位和复位寄存器,对GPIO_ODR具有按位写权限

  • 锁定机制,可冻结I/O配置

  • 模拟功能

  • 复用功能输入/输出选择寄存器

  • 快速翻转,每次翻转最快最需要两个时钟周期

  • 引脚复用非常灵活,允许将I/O引脚用作GPIO或多种外设功能中的一种

GPIO功能描述

每个I/O端口位均可自由编程,但I/O端口寄存器必须按32位字、半字或字节进行访问。GPIOx_BSRR寄存器旨在实现对GPIO ODR寄存器进行原子读取/修改访问。这样便可确保在读取和修改访问之间发生中断请求也不会有问题。


5V容忍I/O端口位的基本结构

5V容忍I/O是说,从单片机过渡到arm的时候,因为单片机是5V芯片,arm是3.3V芯片,它们的I/O是有区别的,3.3V的芯片输出不了5V,只能输出3.3V,但是它能不能和5V芯片的I/O相接就取决于5V容忍能力,如果有5V容忍能力的话,就可以直接接到5V的芯片上,不会把它烧坏。


关键字:STM32  入门  精通  GPIO 引用地址:STM32从入门到精通—GPIO简介

上一篇:STM32从入门到精通—Nucleo板卡的原理图
下一篇:STM32学习笔记— 电源管理及低功耗设计要点

推荐阅读最新更新时间:2024-11-10 11:06

STM32睡眠模式低功耗(停止模式)
目前stm32已经非常流行了,那么本文讨论下stm32低功耗模式,不多说先上手册内容! 这是英文文档 不好看懂是吧,下面看中文文档! 我对比了 STM32F0 和 STM32F1 两者进入低功耗是一样的,STM32F4的类似目前没有研究。 低功耗模式有三种, 1.睡眠模式,( CM3 内核停止,外设仍然运行)此功耗是最高的。 2.停止模式,(所有时钟都停止)此功耗较低,典型大概在20uA左右。 3.待机模式,( 1.8V 内核电源关闭)此功耗最低,典型大概在2uA左右。 如果不行那就看手册,上图 一般我们做开发大多都是选择停机模式,因为停机模式功耗较低。而且任一中断或事件都能唤醒,待机模式虽然功耗最低,也就差10个微安,但
[单片机]
<font color='red'>STM32</font>睡眠模式低功耗(停止模式)
STM32入门学习笔记之文件系统FatFs的移植3
21.2.2 ffsystem.c文件的修改 (1)内存分配ff_memalloc void* ff_memalloc( UINT msize ) { return ( void* )mymalloc( SRAMIN, msize ) ; } (2)内存释放ff_memfree void ff_memfree( void* mblock ) { myfree( SRAMIN, mblock ) ; } 21.2.3 exfuns.c与exfuns.h文件的创建 (1)创建exfuns.h文件,并输入以下代码。 #ifndef _EXFUNS_H #define _EXFUNS_H #i
[单片机]
<font color='red'>STM32</font><font color='red'>入门</font>学习笔记之文件系统FatFs的移植3
STM32小白入门(第九天)-------温湿度模块
型号:DHT11,测量范围在温度0-50度,湿度20-90%RH,4针单排直插式 注意事项: 1.如果想去跟踪温湿度代码跑到哪个位置,禁止使用串口打印输出,因为你们使用115200bps的时候,每打印一个字节都占用86us,会导致温湿度的检测超时。 开发板总共有4盏LED灯,代表16种状态,因为IO口速度是100MHz,所花的时间是10ns。
[单片机]
<font color='red'>STM32</font>小白<font color='red'>入门</font>(第九天)-------温湿度模块
stm32 pc13~pc15 配置成IO口
在STM32的数据手册的管脚分配图中可以看到:PC14与OSC32_IN公用一个引脚,PC15与OSC32_OUT公用一个引脚,它们的使用方法如下: 当LSE(低速外部时钟信号)开启时,这两个公用管脚的功能是OSC32_IN和OSC32_OUT。 当LSE(低速外部时钟信号)关闭时这两个公用管脚的功能是PC14和PC15。 备用区域控制寄存器(RCC_BDCR)的LSEON用于控制LSE的开启或关闭。关于这个寄存器的用法请参看《STM3210x技术参考手册》。 文档下面有一段话: PC13,PC14和PC15引脚通过电源开关进行供电,因此这三个引脚作为输出引脚时
[单片机]
<font color='red'>stm32</font> pc13~pc15   配置成IO口
STM32关于外部时钟晶振为什么选用8MHz
芯片的主晶振频率范围一般来说在数据手册(Datasheet)和技术参考手册(Technical Reference Manual)中都有介绍。 你提到的时钟先分频再倍频,这个需要深入到STM32的内部去一探究竟了, 在其技术参考手册的第7.2节Clocks的一开始有一个表格,时钟树(Figure 8. Clock tree),它完全地列出来STM32这个芯片内部各个模块的时钟来源以及相关的从属关系。 在这个图的正中央,有一个核心时钟:SYSCLK,它最大频率是72MHz,它的时钟信号通过选择器SW可以由PLLCLK提供(也可由HIS、HSE提供)。 PLL,毫无疑问,它是用来倍频的,可以*2,*3,*4……*16,它
[单片机]
<font color='red'>STM32</font>关于外部时钟晶振为什么选用8MHz
适合STM32的三大嵌入式操作系统
基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。 1、μClinux μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。
[单片机]
基于STM32的超声波HC-SR04详解
HC-SR04基本工作原理: (1)采用IO口TRIG触发测距,给最少10us的高电平信呈。 (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回, 通过IO口ECHO输出一个高电平, 高电平持续的时间就是超声波从发射到返回的时间。 测试距离=(高电平时间*声速(340M/S))/2。 程序编写思路是: 1、配置好使用到的GPIO以及定时器; 2、给模块TRIG端口发送大于10us的高电平信号,当收、收到ECHO回响信号是,打开定时器开始定时; 3、当回响信号消失,关闭定时器; 4、通过定时器定时时间来确定距离。 连线 1.这里,HC-SR04模块必须使用5V供电,不能是3.3V (若
[单片机]
基于<font color='red'>STM32</font>的超声波HC-SR04详解
三星Galaxy J4渲染图来了 定位入门主打低端市场
提起三星大家绝对不会陌生,这是当下手机界最强巨头之一,旗下的手机产品备受网友关注。前不久刚刚曝光完三星Galaxy S8 Lite版本之后,又一款名为Galaxy J4的新机渲染图到来。 网传三星Galaxy J4 根据曝光显示,三星Galaxy J4将采用16:9显示屏材质为自家的Super AMOLED面板,搭载主频为1.4GHz的八核Exynos 7570芯片组,2GB/3GB RAM,1300万像素后置和500万像素前置摄像头,内置16GB/32GB存储(可扩展),双SIM卡插槽,支持LTE连接,3000mAh电池。 从数据上来看,这款三星Galaxy J4将会定位低端手机市场,并没有采用全面屏设计、Type-
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved