stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路

一、GPIO定义

GPIO(GENERAL PURPOSE I/O PORTS)意思为通用输入/输出端口,可以为CPU提供数字输入输出功能。通俗地说,就是一些引脚,CPU可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平
• 可以通过软件对GPIO接口进行灵活配置和操纵,包括:
① 输入输出的方向配置
② 引脚功能复用
③ 引脚的重新映射
④ 是否可以申请中断
⑤ PWM输出等

二、GPIO模块的模式

① 浮空输入: In_Floating
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第1张图片
② 上/下拉输入: IPU (In Push_Up)
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第2张图片
③ 下拉输入: IPD (In Push_Down)
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第3张图片
④ 模拟输入: AIN (Analog In)
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第4张图片
⑤ 开漏输出: OUT_OD (OD: Open-Drain)
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第5张图片
⑥ 推挽输出: OUT_PP (PP: Push-Pull)
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第6张图片
⑦ 复用功能推挽输出: AF_PP
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第7张图片
⑧ 复用功能开漏输出: AF_OD
stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第8张图片

三、GPIO初始化结构体变量

GPIO_Pin
该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中
多个管脚。可以使用下表中的任意组合。

GPIO_Pin_None:无管脚被选中
GPIO_Pin_x:选中管脚x(0--15)
GPIO_Pin_All:选中全部管脚

• GPIO_Speed
用以设置选中管脚的速率。

GPIO_Speed_10MHz:最高输出速率10MHz
GPIO_Speed_2MHz:最高输出速率2MHz
GPIO_Speed_50MHz:最高输出速率50MHz

• GPIO_Mode
用以设置选中管脚的工作状态。

GPIO_Mode_AIN:模拟输入
GPIO_Mode_IN_FLOATING:浮空输入
GPIO_Mode_IPD:下拉输入
GPIO_Mode_IPU:上拉输入
GPIO_Mode_Out_OD:开漏输出
GPIO_Mode_Out_PP:推挽输出
GPIO_Mode_AF_OD:复用开漏输出
GPIO_Mode_AF_PP:复用推挽输出

四、GPIO常用库函数

stm32_GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路_第9张图片

五、GPIO编程套路

一、配置GPIO口
• 1. 使能管脚对应的GPIO组时钟

RCC_APB2PeriphClockCmd( GPIOx, ENABLE);

• 2. 定义一个初始化结构体型的变量

GPIO_InitTypeDef GPIO_InitStructure;

• 3. 对结构体变量的各成员赋值

GPIO_InitStructure.GPIO_Pin =;
GPIO_InitStructure.GPIO_Mode =;
GPIO_InitStructure.GPIO_Speed =;

• 4. 调用初始化函数,初始化GPIO

GPIO_Init(GPIO_Pin_n, &GPIO_InitStructure);

• 二、在主函数中,调用GPIO函数编程。

你可能感兴趣的:(基础)