STM32——GPIO配置

一、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初始化
    在这里插入图片描述
    在这里插入图片描述
    注意:
    当某管脚设置为上拉或者下拉输入模式,使用寄存器 Px_BSRR 和 PxBRR
    GPIO_Mode 允许同时设置 GPIO 方向(输入/输出)和对应的输入/输出设置,:位[7:4]对应 GPIO 方向,
    位[4:0]对应配置。GPIO 方向有如下索引
  • GPIO 输入模式 = 0x00
  • GPIO 输出模式 = 0x01
    Table 186. 给出了所有 GPIO_Mode 的索引和编码
    在这里插入图片描述
    例子:
例:
/* 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); 
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值