【STM32】Cortex-M4 超详细的GPIO输出分析

简介: 我们知道stm32的GPIO口可以感知我们的外部世界,也可以通过外设控制外部世界,但是我们要实现这个感知和操控的过程,那么我们就要知到GPIO架构的原理是什么.

一、STM32的GPIO口架构

  我们知道stm32的GPIO口可以感知我们的外部世界,也可以通过外设控制外部世界,但是我们要实现这个感知和操控的过程,那么我们就要知到GPIO架构的原理是什么.详细的GPIO概述可以到本人的另一博客观看,连接如下:【STM32】Cortex_M4 GPIO口概述知识总结_丘比特惩罚陆的博客-CSDN博客

  接下来,进入我们的正题。我们知道,一个GPIO口含有的功能分别是:输入浮空、输入上拉、素如下拉、模拟输入、具有上拉或下拉的开漏输出、具有上拉或下拉的推挽输出、具有上拉或下拉的复用功能推挽、具有上拉或下拉的复用功能开漏。

2345_image_file_copy_113.jpg

红线往上:我们结构的输入部分 ,指的是用来采集我们IO口的信息,信号是由外部向内部流动;      红线往下:我们结构的输出部分,用来控制外部器件,信号有内部向外部流动;

竖线往左:我们的芯片内部;

竖线往右:我们的芯片外部.

为了更好的了解其原理,我们局部来看一下内部的输出部分,也就是这个部分:

2345_image_file_copy_115.jpg

这是一个输出驱动器,这个驱动器呢,就是有我们的这个虚线框里面的所有部件组成,我们的数据大致的流向可以看出下面的图片的路线图。

2345_image_file_copy_116.jpg

    数据流向图

1、在推挽功能的时候,P-MOS管和M-MOS管都能工作;

在开漏功能的时候,P-MOS管永远不工作,N-MOS管可以工作。

注意,这里说的可以工作不代表是一定一起工作。

2、当选择的是推挽功能,输出控制的输入口输入数据,P管导通,M管不导通,由于M管

导通以后输出的IO口与VDD连接,这时候我们输出高电平。输出控制的输入口输入一个数据,M管不导通,N管导通以后输出的IO口与VSS连接,这个时候输出低电平。一般可以用来驱动LED、蜂鸣器等等。

3、当选择的是开漏功能,输出控制的输入口输入数据,P管不导通,M管不导通,这时候我们输出什么电平不确定,取决于外部电路。一般用于SPI等等的通信上面。

4、芯片内部有上下拉;并且有独立的开关,上拉:VDD连接到电阻到信号线上。上拉中:电阻目前没有电流流过;下拉:VSS连接一个电阻到信号线,下拉中,电阻目前没有信号流动。

2345_image_file_copy_117.jpg

注意:这时候我们的上下拉电阻都很大.所以我们芯片内部的上下拉都是弱上下拉,这样的好处是,可以让IO口产生一个确定的状态。

5、整个输出过程:王输出数据寄存器中/复用功能输出写入数据,就能输出到IO口。推挽或者开漏上下拉取决于自己想要的功能需求。比如点灯,我可以用推挽输出。

到这里我们就总结完我们的输出部分,另外的输出部分我们分开来写,有需要的朋友可以进入到主业搜索“GPIO输入分析”,提供该部分的讲解。


相关文章
|
7月前
|
存储
STM32F103标准外设库——GPIO 输入、输出 (五)
STM32F103标准外设库——GPIO 输入、输出 (五)
415 0
STM32F103标准外设库——GPIO 输入、输出 (五)
|
3月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
276 0
|
芯片
STM32速成笔记(二)—GPIO
本文介绍了STM32的GPIO的配置和使用方法,并且给出了应用实例。此外,针对使用时可能遇到的一些问题给出了解决办法。
396 0
STM32速成笔记(二)—GPIO
|
5月前
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
|
5月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
187 0
|
6月前
经验大分享:STM32F4寄存器初始化系列:GPIO
经验大分享:STM32F4寄存器初始化系列:GPIO
33 0
|
7月前
|
消息中间件 物联网 Linux
STM32面试知识点总结分析
STM32面试知识点总结分析
185 0
|
7月前
|
存储 芯片 C++
STM32启动详细流程分析(一)
STM32启动详细流程分析(一)
307 0
|
7月前
|
芯片
STM32 GPIO工作原理详解
STM32 GPIO工作原理详解
112 0
|
7月前
|
芯片
嵌入式STM32中时钟系统详细分析
嵌入式STM32中时钟系统详细分析
175 0
嵌入式STM32中时钟系统详细分析