GPIO输出控制PB0,程序设计步骤

一、GPIO是什么

GPIO简介:通用输入输出端口的简称。可以通过软件控制其输出和输入。stm32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通信,控制以及数据采集的功能。

二、GPIO特性

输出状态:带有上拉或下拉的推挽输出或开漏输出

从数据寄存器 (GPIOx_ODR) 或外设 ( 复用功能输出 ) 输出数据

可选的每个 I/O 口的速度

输入状态:浮空、上拉 / 下拉、模拟输入

从数据寄存器 (GPIOIDR) 或外设输入数据 ( 复用功能输出 )

位置位 / 复位寄存器 (GPIOx_RR) 为对 GPIOx_ODR 寄存器提供位访问能力

A 或口的锁定机制 (GPIOx_LCKR) 配置

模拟功能

可选的口 A 和口 B 复用功能

每两个时钟周期快速切换口线值能力

允许 GPIO 口和外设引脚的高灵活性复用

三、GPIO 功能描述

根据数据手册中列出的每个 I/O 端口的特定硬件特征, GPIO 端口的每个位可以由软件分别配

置成多种模式:

浮空输入

上拉输入

下拉输入

模拟输入

具有上拉或下拉能力的开漏输出

具有上拉或下拉能力的推挽输出

复用功能且具有上拉或下拉能力的推挽输出

复用功能且具有上拉或下拉能力的开漏输出

复用功能输出

由于 STM32 的 GPIO 引脚具有第二功能,因此当使用复用功能的时候,也就是通过其他外设复用功能输出信号与 GPIO 数据寄存器一起连接到双 MOS 管电路的输入,其中梯形结构是用来选择使用复用功能还是普通 IO 口功能。例如我们使用 USART 串口通讯时,需要用到某个 GPIO 引脚作为通讯发送引脚,这个时候就可以把该 GPIO 引脚配置成 USART 串口复用功能,由串口外设控制该引脚,发送数据。

输入数据寄存器

输入数据寄存器是由 IO 口经过上下拉电阻、施密特触发器引入。当信号经过触发器,模拟信号将变为数字信号 0 或 1,然后存储在输入数据寄存器中,通过读取输入数据寄存器 GPIOx_IDR 就可以知道 IO 口的电平状态。

复用功能输入

此模式与复用功能输出类似。在复用功能输入模式时,GPIO 引脚的信号传输到 STM32 其他片上外设,由该外设读取引脚的状态。同样,如我们使用 USART 串口通讯时,需要用到某个 GPIO 引脚作为通讯接收引脚,这个时候就可以把该 GPIO 引脚配置成 USART 串口复用功能,使 USART 可以通过该通讯引脚的接收远端数据。

模拟输入输出

当 GPIO 引脚用于 ADC 采集电压的输入通道时,用作“模拟输入”功能,此时信号是不经过施密特触发器的,因为经过施密特触发器后信号只有 0、1 两种状态,ADC 外设要采集到原始的模拟信号,信号源输入必须在施密特触发器之前。类似地,当 GPIO 引脚用于 DAC 作为模拟电压输出通道时,此时作为“模拟输出”功能, DAC 的模拟信号输出就不经过双 MOS 管结构了,模拟信号直接通过管脚输出。

四、寄存器

GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F)

偏移地址:0x04

复位值: 0x0000 0000

五、程序(寄存器方式实现PB0点亮)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值