STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和输出寄存器GPIOx_IDR和GPIOx_ODR,1个32位置位复位寄存器GPIOx_BSRR,1个32位锁定寄存器GPIOx_LCKR和2个32位复用功能选择寄存器GPIOx_AFRH和GPIOx_AFRL。

  GPIO的输出状态可以配置为推挽或开漏加上上拉或下拉。输出数据既可以来自输出数据寄存器,也可以由其他外围寄存器发出。每组IO口的速度都是可以配置的,可以配置为25MHz,50MHz或是100Mhz。数据输入同样也有几种模式,它们分别为浮空,上下拉和模拟,并且输入数据同样可以配置为来自输入寄存器或是其他的外围寄存器。置位复位寄存器可以方便地对每一位进行单独的配置,这在许多情况下非常有用。

  经过上一段对GPIO口模式的说明,在这里对它的工作模式进行一个小结,它一共有八种组合,即有八种可配置的工作模式,分别是:

  1. 输入浮空
  2. 输入上拉
  3. 输入下拉
  4. 模拟
  5. 带上拉或下拉的开漏输出
  6. 带上拉或下拉的推挽输出
  7. 带上拉或下拉的复用功能推挽
  8. 带上拉或下拉的复用功能开漏

STM32系列单片机IO口模式设置的更多相关文章

  1. 单片机IO口驱动能力

    以STM32的IO口为例,最大的输出电流和灌入电流在芯片手册上都有说明.单个IO口一般都是十几mA到几十mA,同时总的VDD电流也有限制,大概为150mA.所以单片机驱动外设时,如果不是信号型而是功率 ...

  2. 实验1 单片机IO口应用及数码管显示

    1.   单片机驱动蜂鸣器的实验: a)         说明:Lab51单片机实验板的蜂鸣器连接到单片机的P1.5 b)        基本要求:控制蜂鸣器每2秒响0.5秒. #include &l ...

  3. stm32的双向io口

    # stm的io设置为双向问题,将io端口模式配置为 open-drain mode > 在io端口配置为输出模式时,输入通道上的施密特触发器一直是打开的,所以读取IDR是能检测到端口电平的 & ...

  4. 【Windows10 IoT开发系列】开发人员模式设置

    原文:[Windows10 IoT开发系列]开发人员模式设置  声明:本文转自微软Windows 开发人员中心(https://msdn.microsoft.com/library/windows/ ...

  5. CoIDE在STM32系列单片机中的使用实践

    这一段时间找到CoIDE,发现其真的挺好用,编辑界面比Keil功能强大.因此把实际操作过程记录下来. CoIDE  是CooCox专业打造的一款免费的ARMCortexMCU嵌入式集成开发环境(Int ...

  6. 如何检测 51单片机IO口的下降沿

    下降沿检测,说白了就是满足这样一个逻辑,上次检测是1,这次检测是0,就是下降沿. 从这个条件可知,要确保能够正确检测到一个下降沿,负脉冲的宽度,必须大于一个检测周期,当负脉冲宽度小于一个检测周期,就有 ...

  7. 单片机小白学步系列(二十) IO口原理

    IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比較长的篇幅介绍IO口的原理. 也是查阅了不少资料,确保内容正确无误,花了非常长时间写的. IO口原理原本须要涉及非常多深入的知识,而这里尽最大 ...

  8. 51单片机:IO口扩展芯片用法(74HC165,74HC595)

    IO口扩展芯片,主要是解决单片机IO口太少. 74HC165:数据从并转串 74HC595:数据从串转并 两种芯片,都是通过时序电路,加上移位功能,进行数据传输 74HC165:数据从并转串.以下实例 ...

  9. stm32开发笔记(二):stm32系列使用V3.5固件库的帮助文件以及GPIO基本功能(一)

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用库函数使用GPIO引脚功能.   补充   本文章为多年前学习 ...

随机推荐

  1. VS后台程序无法调用App_Code里的公共类解决方案

    在Web应用程序中不能通过右键项目-〉”添加“-〉”添加ASP.NET文件夹“方式添加 .因为Web应用程序中App_Code就不存在 .不过可以通过手动的方式创建,添加一个文件夹命名为App_Cod ...

  2. 网上找的Gif图片解析类

    这个是搜到的大部分的答案 下面贴出来代码 public class MyGifView extends View { private long movieStart; private Movie mo ...

  3. DDOS分布式拒绝服务

    DDOS(分布式拒绝服务)概念 DDOS称为分布式拒绝服务,DDOS本是利用合理的请求伪造资源过载,导致服务不可用.比如一个停车场有100个停车位,当100个停车位都停满后,再有车想要进来.就必须要等 ...

  4. 斐讯k1路由器刷Breed BootLoader(不死UBoot)教程

    刷入Breed BootLoader: 因为这个K1路由器可以开启telnet服务,所以此处刷Breed可以不使用编程器刷Flash芯片的方法进行. 1.打开K1路由器的Telnet服务. 电脑通过有 ...

  5. Spring 相关jar包详细介绍

    文章转自:http://blog.csdn.net/farawayhome/article/details/6623946 aspectj目录下是在Spring框架下使用aspectj的源代码和测试程 ...

  6. WinForm 公共控件

    一.窗体属性: 1.AcceptButton - 窗体的“接受”按钮.如果设置该属性,每次用户按“Enter”键都相当于“单击”了该按钮. 需要设置哪个键,就在后面选择. 2.CancelButton ...

  7. tab切换-2016.6.4

    以前的tab切换,一般都是自己找网上的源代码,不知道含义,直接套,然后会有一些不知道的问题出现. 最近学习了jq(当然属于懒人的我,学习进度很慢),然后再工作中遇到了tab选项卡,所以决定自己写一个. ...

  8. java向Excel文件写入数据

    /*使用之前要记得导入第三的jar包这个是我之前使用的时候那别人的东西自己修改了一下 还没来得及好好地封装一下还望见谅,注释我感觉写的挺清楚的就在不进行解释代码了*/package com.zzp.E ...

  9. express

    1.基于node.js的web开发框架. 2.express目录结构: node_modules public routes views app.js:项目主文件 package.json 3.获取程 ...

  10. Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc.marius@twitter.com (@marius)[translated by hongjiang(@ho ...