STM32——GPIO配置

文章目录

    • 一、GPIO八种模式
      • 1. 输入
      • 2. 输出
      • 3. 如何选择GPIO的模式
    • 二、库函数GPIO配置
      • 1. 配置代码
      • 2.参数设置

一、GPIO八种模式

GPIO的输入输出是对于STM32单片机来说的。以下仅为个人粗略笔记,内部电路分析可参考博客https://blog.csdn.net/k666499436/article/details/123845466

1. 输入

  1. 上拉输入
  2. 下拉输入
  3. 浮空输入
  4. 模拟输入

2. 输出

  1. 复用推挽输出
  2. 普通推挽输出
  3. 复用开漏输出
  4. 普通开漏输出

3. 如何选择GPIO的模式

  1. 先判断对于单片机来说是输入还是输出
  2. 若为输入:①看引脚是否为ADC输入,如果是则为模拟输入;
    ②看引脚悬空时,电压不确定,可为高电平、低电平;
    ③需要高电平-内部有上拉电阻-悬空时为高电平;
    ④需要低电平-内部有下拉电阻-悬空时为低电平;
  3. 若为输出:①有外设-为复用模式;无外设-为普通模式;
    ②只能输出低电平-开漏模式;可输出高电平、低电平-推挽模式。

二、库函数GPIO配置

1. 配置代码

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//打开GPIOE口的时钟	
	GPIO_InitTypeDef GPIO_InitStruct={0};//清零结构体
	//GPIO参数配置
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_2;
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;
	GPIO_Init(GPIOE,&GPIO_InitStruct);//初始化
	GPIO_SetBits(GPIOE,GPIO_Pin_2);//置引脚

2.参数设置

查找固件库使用手册

  1. GPIO初始化
    STM32——GPIO配置_第1张图片
    STM32——GPIO配置_第2张图片
    注意:
    当某管脚设置为上拉或者下拉输入模式,使用寄存器 Px_BSRR 和 PxBRR
    GPIO_Mode 允许同时设置 GPIO 方向(输入/输出)和对应的输入/输出设置,:位[7:4]对应 GPIO 方向,
    位[4:0]对应配置。GPIO 方向有如下索引
  • GPIO 输入模式 = 0x00
  • GPIO 输出模式 = 0x01
    Table 186. 给出了所有 GPIO_Mode 的索引和编码
    STM32——GPIO配置_第3张图片
    例子:
例:
/* Configure all the GPIOA in Input Floating mode */ 
GPIO_InitTypeDef GPIO_InitStructure; 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
GPIO_Init(GPIOA, &GPIO_InitStructure); 

你可能感兴趣的:(STM32单片机的开发,stm32,嵌入式硬件,单片机)