GPIO的基本概念——基于STM32F767IGT6

GPIO的基本概念

我们的STM32F767芯片一共有176根引脚,可以通过这些引脚与外设及外部电路和芯片之间执行交互;
这些引脚中间有36根专门用作电源引脚、复位引脚、启动模式引脚、晶振引脚、调试下载等功能;
还剩下140根引脚我们可以用于输入/输出操作,通过这部分端口的高低电平读取输入输出的数据,所以这部分引脚我们就叫做GPIO(通用输入输出端口),我们可以将GPIO口通过程序配置成输入或者输出;

140个GPIO我们怎么分配呢?

芯片将这140个GPIO分成了9组,即PA-PI;其中PA-PH每组一共有16个IO,而PI只有PI0-PI11;

GPIO的复用功能

对于STM32来说,它的外设资源非常丰富,比如说串口、Timer、ADC等,像一个timer就有好几个通道需要占用IO口,如果我们直接把这些端口定义为外设功能的话,我们可以接的外部传感器等设备的接口就非常少了,所以我们将部分的GPIO复用为外设引脚,这样一个引脚就可以通过配置设置它到底是IO口还是外设引脚,大大节省了我们的资源;

我们又如何知道具体芯片的外设资源呢?

当有新的芯片出来的时候,ST公司就会对《ST MCU 最新选型手册》进行更新,我们可以通过查阅选型手册来简单了解芯片的外设资源;

如何知道那个引脚复用了什么功能呢?

当我们拿到一款芯片的时候,我们可以通过它的datasheet来了解它的基本信息和外设资源;我们可以通过datasheet来查阅GPIO的具体功能复用情况;
我们可以通过ST的官网下载相应芯片的datasheet;
GPIO的基本概念——基于STM32F767IGT6
如图我们可以看见PA1复用了timer1的通道2,timer5的通道2等;

PS:我们可以通过选型手册看到芯片的工作电压在1.7V-3.6V之间,那么我们经常接外部电源的时候会接5V的电源,那么这对芯片会有影响吗?答案是不会的,我们可以从上图可以看见,I/O structure这个选项有些标注了FT,这些引脚都是可以5V容忍的,一般来说除了模拟引脚,其他引脚一般都满足;