一、GPIO定义
GPIO(GENERAL PURPOSE I/O PORTS)意思为通用输入/输出端口,可以为CPU提供数字输入输出功能。通俗地说,就是一些引脚,CPU可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平
• 可以通过软件对GPIO接口进行灵活配置和操纵,包括:
① 输入输出的方向配置
② 引脚功能复用
③ 引脚的重新映射
④ 是否可以申请中断
⑤ PWM输出等
二、GPIO模块的模式
① 浮空输入: In_Floating
② 上/下拉输入: IPU (In Push_Up)
③ 下拉输入: IPD (In Push_Down)
④ 模拟输入: AIN (Analog In)
⑤ 开漏输出: OUT_OD (OD: Open-Drain)
⑥ 推挽输出: OUT_PP (PP: Push-Pull)
⑦ 复用功能推挽输出: AF_PP
⑧ 复用功能开漏输出: AF_OD
三、GPIO初始化结构体变量
GPIO_Pin
该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中
多个管脚。可以使用下表中的任意组合。
1:GPIO_Pin_None:无管脚被选中
2:GPIO_Pin_x:选中管脚x(0--15)
3:GPIO_Pin_All:选中全部管脚
• GPIO_Speed
用以设置选中管脚的速率。
1:GPIO_Speed_10MHz:最高输出速率10MHz
2:GPIO_Speed_2MHz:最高输出速率2MHz
3:GPIO_Speed_50MHz:最高输出速率50MHz
• GPIO_Mode
用以设置选中管脚的工作状态。
1:GPIO_Mode_AIN:模拟输入
2:GPIO_Mode_IN_FLOATING:浮空输入
3:GPIO_Mode_IPD:下拉输入
4:GPIO_Mode_IPU:上拉输入
5:GPIO_Mode_Out_OD:开漏输出
6:GPIO_Mode_Out_PP:推挽输出
7:GPIO_Mode_AF_OD:复用开漏输出
8:GPIO_Mode_AF_PP:复用推挽输出
四、GPIO常用库函数
五、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函数编程。
————————————————
版权声明:本文为CSDN博主「Kattlin_gsc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Kattlin_gsc/article/details/106890132