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

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

时间:2022-11-27 02:00:46浏览次数:39  
标签:输出 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管脚,使用操作符“|”可以一次选中
多个管脚。可以使用下表中的任意组合。

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

标签:输出,Pin,stm32,Mode,GPIO,管脚,输入,库函数
From: https://www.cnblogs.com/Shion316/p/16928861.html

相关文章

  • 《STM32MP1 M4裸机HAL库开发指南》第三十二章 DS18B20数字温度传感器实验
    第三十二章18B20数字温度传感器实验本章,我们将介绍通过STM32MP157读取外部温度传感器的温度,来得到较为准确的环境温度。本章节我们先了解单总线技术,再了解温度传感器DS18B20......
  • 《STM32MP1 M4裸机HAL库开发指南》第三十三章DHT11数字温湿度传感器实验​
    第三十三章DHT11数字温湿度传感器实验​本章,我们将介绍数字温湿度传感器DHT11的使用,与前一章的DS18B20温度传感器相比,该传感器不但能测温度,还能测湿度。我们将学习如何获取D......
  • STM32Duino的环境搭建
    最好用官方的方法来建立,这样系统的兼容性比较强,不容易出问题。Arduino的附加开发板网址使用:https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/master/STM......
  • STM32CubeMX之定时器PWM输出
    STM32CubeMX之定时器PWM输出1.知识百科--PWM简介    ​    PWM是一种对模拟信号电平进行​​​​数字编码​​​​​的方法。通过高​​​​分辨率​​​​计......
  • 例程分析:GPIO输出——使用固件库点亮LED灯
     1 编程要点①使能GPIO端口时钟;②初始化GPIO目标引脚为推挽输出模式;③编写简单测试程序,控制GPIO引脚输出高、低电平。2 代码分析 宏定义的意义:通过把硬件相关......
  • 数据库函数 group_concat ( ) 结果有长度限制
    #在MySQL配置文件(my.ini)中默认无该配置项,使用默认值时,值为1024,可在客户端执行下列语句修改:#SETGLOBALgroup_concat_max_len=1024;#该语句执行后重启客户端即可用......
  • STM32CubeMX之外部中断
    STM32CubeMX之外部中断1.中断简介​​   中断,是指处理机处理程序运行中出现的紧急事件的整个过程。程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件......
  • STM32CubeMX之RTC电子钟
    STM32CubeMX之RTC电子钟1.RTC简介  实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置......
  • SD NAND 的 SDIO在STM32上的应用详解(中篇)
    四.SDIO功能框图(重点)SDIO包含2个部分:●SDIO适配器模块:实现所有MMC/SD/SDI/O卡的相关功能,如时钟的产生、命令和数据的传送。●AHB总线接口:操作SDIO适配器模块中的寄存器......
  • stm32f030f4p6_定时器1应用
    坑人的PDF框图显示TIM1,2,3,6,14,15,16,17都在APB1上,然而它却在APB2才可以运行。可是在PDF框图和STM32CubeMX中都找不到APB2的存在却在stm32f0xx_rcc.h中找到了APB2的踪......