STM32 CubeMX(一)—— GPIO

  • Post author:
  • Post category:其他





前言



集成电路

将大量的分立元件通过特殊工艺集成在很小的半导体芯片上。



引脚

又叫管脚,英文叫Pin。



集成电路

(芯片)内部电路引出,与外围电路的

接线



所有的引脚构成了这块芯片的接口



GPIO

通用输入输出端口的简称。

简单来说就是 STM32 可控制的

引脚

,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。

STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部

通讯、控制以及数据采集

的功能。


STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚。如型号为 STM32F103ZET6 的芯片有 GPIOA、GPIOB至 GPIOG 共 7 组 GPIO。 芯片一共 144 个引脚,其中GPIO 就占了一大部分



门电路

实现基本逻辑运算和复合运算的单元电路。


常用的门电路有非门、与非门、或非门、异或门、与或非门等



门电路有一个

阈值电压

,当输入电压从低电平上升到阈值电压或从高电平下降到阈值电压时,电路的

状态

将发生变化。



施密特触发器

Schmitt trigger,一种特殊的门电路。

与普通的门电路不同,施密特触发器有

两个阈值电压

,分别称为正向阈值电压和负向阈值电压。



寄存器

register,存放数据的一些小型存储区域,暂时存放参与运算的数据和运算结果。


STM32的GPIO寄存器CRL、CRH、IDR、ODR、BSRR、BRR

.



时钟

单片机运行的基础。

时钟信号推动单片机内各个部分执行相应的指令。



AHB

Advanced High performance Bus的缩写,译作高级高性能总线,一种“系统总线”。

主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。AHB 系统由

主模块、从模块和基础结构

3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。



CPU

中央处理器(central processing unit)

作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。



ADC

Analog-to-Digital Converter,模拟数字转换器。



连续

变化的

模拟信号

转换

离散

的数字信号的器件。



GPIO的工作模式



输入模式

施密特触发器打开,输出被禁止。

数据

寄存器

每隔1个

AHB1时钟

周期更新一次,可通过

输入数据寄存器

GPIOx_IDR


读取I/O状态。



输入浮空(GPIO_Mode_IN_FLOATING)

浮空就是逻辑器件与引脚既不接高电平,也不接低电平。由于逻辑器件的内部结构,相当于接了高电平。

一般实际运用时,引脚不建议悬空,易受干扰,

这种设置在数据传输时用的比较多



输入上拉(GPIO_Mode_IPU)

将不确定的信号通过一个电阻嵌位在高电平。

减少干扰,电阻同时起到限流的作用。



输入下拉(GPIO_Mode_IPD)

将不确定的信号通过一个电阻嵌位在低电平。

减少干扰,电阻同时起到限流的作用。



模拟输入(GPIO_Mode_AIN)

传统方式的输入。

前三者CPU可以随时读取IO口的电平状态。与之不同,从IO口过来的模拟量要被

ADC

转换成数字量才能被CPU读取。



输出模式

输出使能,此时施密特触发器是打开的,即输入可用,通过输入数据寄存器GPIOx_IDR可读取I/O的实际状态。


由于输出模式时,引脚电平会受到输出数据寄存器GPIOx_ODR影响,而ODR寄存器对应引脚的位为0,即引脚初始化后默认输出低电平



开漏输出(GPIO_Mode_Out_OD)



推挽输出(GPIO_Mode_Out_PP)


开漏输出与推挽输出的区别

.



复用功能



开漏复用功能(GPIO_Mode_AF_OD)



推挽复用功能(GPIO_Mode_AF_PP)



GPIO的配置方法

  1. 配置时钟并使能。
  2. 选择引脚。
  3. 配置引脚模式。
  4. 最后调用库函数初始化GPIO,将配置写入。


GPIO端口及寄存器的简单配置与使用

.



STM32 CubeMx

一个图形化的工具,也是配置和初始化STM32代码生成器。

自动生成开发初期关于芯片相关的一些初始化代码,

它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等

STM32 CubeMX的特性

直观的选择 STM32 微控制器
微控制器图形化配置
自动处理引脚冲突
动态设置确定的时钟树
可以动态确定参数设置的外围和中间件模式和初始化
代码工程生成器覆盖了STM32微控制器初始化编译软件,

如IAR、

KEIL

、GCC


STM32 CubeMX配置GPIO

.



版权声明:本文为qq_60091003原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。