原创 MCU之GPIO到底是什么?结构和例程详解

2023-10-4 10:46 1338 4 4 分类: 物联网 文集: 学习分享

GPIO,全称General-Purpose IO ports,即通用IO口,是微控制器芯片上的一种可编程IO接口。

在嵌入式系统中,往往存在大量结构简单但数量众多的外部设备或电路。这些设备或电路,有的是需要CPU为之提供控制手段,有的是需要被CPU用作输入信号。而且,许多这样的设备或电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备或电路的控制,使用传统的串行口或并行口都不合适。

因此,在微控制器芯片上,一般会提供一个GPIO接口,以实现对这些设备或电路的有效控制。GPIO接口至少有两个寄存器,即通用IO控制寄存器与通用IO数据寄存器。数据寄存器的各位都直接引到芯片外部,而对这种寄存器中每一位的作用,即每一位的信号流通方向,则可以通过控制寄存器中对应位独立的加以设置。

以下是一个GPIO接口的简单例程:

c复制代码
// 设定GPIO输出引脚电平为高电平
GPIO_SetBits(GPIOx, GPIO_Piny);
// 设定GPIO输出引脚电平为低电平
GPIO_ResetBits(GPIOx, GPIO_Piny);
// 检查GPIO输入引脚的电平状态
if (GPIO_ReadInputDataBit(GPIOx, GPIO_Piny) == Bit_RESET)
{
// 引脚电平为低电平
}
else
{
// 引脚电平为高电平
}

在这个例程中,GPIOx代表的是指定的GPIO端口,GPIO_Piny则代表具体的引脚。在实际应用中,需要根据硬件的配置和应用需求来设定具体的端口和引脚。

作者: 丙丁先生, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3996156.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

丙丁先生 2024-5-8 13:25

入门文档,大佬可略
相关推荐阅读
丙丁先生 2025-06-21 07:36
AI8051U为主控芯片歌曲播放
/*************  功能说明    **************本例程基于AI8051U为主控芯片的实验箱进行编写测试.使用Keil C251编译器...
丙丁先生 2025-06-13 09:33
FPU
FPU 是“Floating Point Unit”的缩写,中文意思是“浮点运算单元”。它是一种专门用于处理浮点数运算的硬件组件,通常集成在计算机的处理器(CPU)中,也可以是一个独立的芯片。以下是关...
丙丁先生 2025-06-06 09:31
给高三考生的一点建议
这是我给高三考生的一点建议:1.  今天距离高考还有两天,高考考完一定不要去对答案,尽情享受假期。2.  天气炎热的话注意避暑,可自带风油精、冰袋降温。3.  疯狂暗示自...
我要评论
1
4
关闭 站长推荐上一条 /4 下一条