STM32单片机GPIO的配置模式

发布时间: 2024-09-26
来源: 电子工程世界

1. 操作GPIO的意义

我们在学习单片机的时候,一般都是从操作GPIO开始的,很多单片机学习的教程第一课就是点亮发光二极管或者是流水灯。所以对于初学者而言,及时掌握单片机的GPIO口是一件具有里程碑意义的事情。今天以STM32单片机为例,简单看一下GPIO口。


2. STM32单片机GPIO的配置模式

STM32单片机的GPIO最有8组,分别为A,B,C,D,E,每组有0-15共16个。可以配置为8中模式:

1.jpg

3. 相关寄存器

配置GPIO相关的寄存器有如下几个:

1.端口配置低寄存器:(GPIOx_CRL) (x=A..E)

2.端口配置高寄存器:(GPIOx_CRH) (x=A..E)

3.端口输入数据寄存器:(GPIOx_IDR) (x=A..E)

4.端口输出数据寄存器:(GPIOx_ODR) (x=A..E)

其余未完全列出... ...

图片

GPIOx_CRL用来配置0-7脚的输入输出模式,GPIOx_CRH用来配置8-15脚的输入输出模式。

图片

GPIOx_IDR是GPIO的输入寄存器,即用来检测GPIO当前的状态。其读取方式如下(以PA1为例):

GPIOA->DIR&(1<<1)

图片

GPIOx_ODR是GPIO的输出寄存器,即用来置位或者清零GPIO。其操作方式如下(以PA1为例):

PA1 = 1:GPIOA->OIR |= (1<<1) ;

PA1 = 0:GPIOA->OIR &=~(1<<1) ;

4. GPIO口的操作步骤

任何事情都是有套路的,操作GPIO也是一样:

打开GPIO时钟;

设置为输出或者输入(即设置方向);

开出或者读入;


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。