ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-06-24 14:39:45  阅读:585  来源: 互联网

标签:输出 Pin stm32 Mode 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管脚,使用操作符“|”可以一次选中
多个管脚。可以使用下表中的任意组合。

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常用库函数

在**加粗样式**这里插入图片描述

五、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函数编程。

标签:输出,Pin,stm32,Mode,GPIO,管脚,输入,库函数
来源: https://blog.csdn.net/Kattlin_gsc/article/details/106890132

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有