前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是GPIO,它有什么用

什么是GPIO,它有什么用

原创
作者头像
谭广健
发布2022-07-26 15:25:31
1.5K0
发布2022-07-26 15:25:31
举报

很早就想写这篇文章了,因为不少小伙伴和同学对开发STM32中的GPIO_WriteBit、GPIO_SetBits、GPIO_ResetBits 是什么都搞不懂。。每次都要花时间跟他们扫盲。。好吧,这次就一次扫清。

首先:GPIO(或GPIO口)就是通用输入/输出端口,通俗地说,就是一些CPU的引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平;就是0:1输入和输出。

而其中常用就有:

GPIO_WriteBit:这个字面意思就是指定引脚的设置和清除。

GPIO_SetBits:就是设置指定引脚的数据端口。

GPIO_ResetBits:清除指定引脚的数据端口。

那怎么用呢?首先必须初始一下GPIO,就是告诉系统我要用这个引脚,那怎么表达,请看下面

void GPIO_INIT(void){
    GPIO_InitTypeDef GPIO_InitStructure; //声明结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);//调用该函数使能GPIOB时钟
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5;//初始化引脚
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //复用推挽输出
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度 50MHz
    GPIO_Init(GPIOE,&GPIO_InitStructure);//配置GPIO
}

这样就初始化,我们需要的引脚;然后我只需要对引脚传出底电平还是高电平,因为这样就可以控制引脚是否闭合。

    GPIO_WriteBit(GPIOE, GPIO_Pin_4,0); 或 GPIO_ResetBits(GPIOE,GPIO_Pin_4); //拉入底电平

    GPIO_WriteBit(GPIOE, GPIO_Pin_4,1); 或 GPIO_SetBits(GPIOE,GPIO_Pin_4); //拉入高电平

CPU引脚
CPU引脚

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档