GPIO功能

(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

GPIO基础知识


4种输入模式




4种输出模式


若①处写入1,则N-MOS关闭,④处电平由上拉下拉电阻决定,⑥处读数由外部上拉下拉电阻决定
若①处写入0,则N-MOS开启,④处I/O电平被拉至N-MOS处的Vss,I/O输出低电平,⑥处读低电平


若①处写入1,则P-MOS导通 N-MOS截止,I/O输出1
若①处写入0,则P-MOS截止 N-MOS导通,I/O输出0


相关配置寄存器

每个GPI/O端口有

  • 两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)
  • 两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)
  • 一个32位置位/复位寄存器(GPIOx_BSRR)
  • 一个16位复位寄存器(GPIOx_BRR)
  • 一个32位锁定寄存器(GPIOx_LCKR)


每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。
GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。

端口电压


STM32的部分IO口可以容忍5V,部分IO口只能是3.3V容忍。
到底哪些能够容忍,查看数据手册, 引脚标注”FT"的是可以容忍5V的





端口复用

有些端口不仅仅可以作为通用IO口,还可以复用为外设引脚
eg.PA9,PA10复用为串口1引脚

端口重映射

可以把某些功能引脚映射到其他引脚
eg.串口1默认引脚是PA9,PA10可Remap到PB6,PB7

STM32开发板学习——GPIO功能、5v兼容口相关推荐

  1. STM32开发板学习笔记【5】UART 串口 1 数据收发实验

    实验目的: 串口的使用对于我们开发调试过程中的作用是非常之大,可以用来查看,打印以及输入相关信息.所 以对串口的调试使用要熟练掌握. 实验内容: 编写串口 1 数据收发程序.调试编译好程序后,将程序下 ...

  2. STM32开发板学习——USB、串口、JTAG、SWD下载的区别

    串口下载 特点:最简单经济 原理:实际是通过USB转TTL(CH340G) 方式:连接USB(USB1)口,flymcu软件下载程序 缺点:代码工程比较大时,难免存在一些 bug ,需要通过在线调试解 ...

  3. STM32开发板学习

    第一章 学习准备 硬件: 正点原子精英STM32F103 STLINK仿真器 软件: Keil MDK5 器件pack 新建工程: 新建工程模板_基于库函数 新建project<USER< ...

  4. 【STM32 .Net MF开发板学习-02】GPIO测试

    前段时间我借用市面上现成的Corex-M3开发板,打造了最低价的.Net Micro Framework开发板(参见<免费发放firmwave,打造史上最低价.Net MF开发板>),在此 ...

  5. 用stm32开发时是直接买现成的开发板还是芯片?开发板学习,芯片硬件设计

    视情况而言,买开发板用于评估和学习,然后买芯片做硬件设计 开发板 开发板上手即可使用,并附带很多模块. 拿到开发板后即可直接根据开发板提供的原理图进行程序编写,学习. 优点:简单快捷,上手快,拿到手就 ...

  6. stm32开发板能干什么?stm32开发板功能介绍

    很多开发者对于STM32开发板还都不了解,具体哪一款好用?怎么选择?让很多工程师感到困惑,今天就给大家介绍一款DFRobot商城新品,适合有经验的STM32玩家使用的一款开发板-STM32F411开发 ...

  7. 【嵌入式小白学习】--在STM32开发板上实现简单的串口通信

    嵌入式小白学习--在STM32开发板上实现简单的串口通信 这里写目录标题 嵌入式小白学习--在STM32开发板上实现简单的串口通信 Part1. STM32环境的搭建 Part2. 编写代码 Part ...

  8. 野火洋桃STM32开发版学习指导完整版

    该文章是我历时一个月整理总结而成,专门针对想要通过野火&洋桃STM32开发板入门stm32的读者.由于csdn编辑限制,该学习指导只包含文字信息.如需查看含图片的完整版可进入我的博客下载页.完 ...

  9. 韦东山 IMX6ULL和正点原子_「正点原子NANO STM32开发板资料连载」第三章 MDK5 软件入门1...

    1)实验平台:ALIENTEK NANO STM32F411 V1开发板 2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第三章 M ...

最新文章

  1. python开发桌面软件-python适合windows的桌面应用程序开发吗?
  2. XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg
  3. 解決yum [Errno -1] Metadata file does not match checksum
  4. Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)
  5. 动画特效九:下拉刷新
  6. 简单理解php的socket编程
  7. 二进制空间权重矩阵_空间权重矩阵的生成方法分析与实验
  8. 【论文笔记】Face Anonymization by Manipulating Decoupled Identity Representation
  9. 简单管理Android手机程序的小程序
  10. 变换元素transform和过渡元素transition混合使用
  11. java判断101-200之间有多少个素数_并输出所有素数_编程基础练习:题目:判断101-200之间有多少个素数,并输出所有素数。 - 菜鸟头头...
  12. Requirement already satisfied
  13. 灰色预测方法预测温度matlab,灰色预测matlab代码怎么写
  14. 【有限元仿真】平行板电容器仿真
  15. android开发面试题!微信小程序趋势及前景,社招面试心得
  16. 京东数据中心设施运维管理(三)
  17. HTML上标和下标原理,HTML标签:上标、下标
  18. POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)
  19. cat实时监控-入门demo
  20. JSON与JSONP

热门文章

  1. 杜蕾斯创意iPhone app
  2. 了微操作而进化成章鱼的人们
  3. 算法 - 并行元启发式算法
  4. packages.xml分析
  5. 建站心得之discuz门户程序相比ZBLOG具有哪些优势[图]
  6. 通过grep学习正则表达式
  7. 为什么这个92年的小哥从实习生到P8级技术Leader只用了6年
  8. android平板商店,谷歌或推在线商店提升Android平板电脑销量
  9. LNMP环境安装方法
  10. java学习路线---大师级的,我看了明白多了