转载:stm32——GPIO的定义、模式、初始化结构体变量、常用库函数与编程套路

一、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

posted @   Shion316  阅读(1168)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示