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

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

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-01-07 09:25
谈大模型的赋能
大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、...
丙丁先生 2025-01-06 09:23
PLC组态的方式与比较
PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实...
丙丁先生 2024-12-30 09:59
C语言USB与SD的例程区别
C语言USB与SD的例程在接口类型、存储方式以及数据传输速度等方面存在区别,具体分析如下: 1. 接口类型   USB:USB(通用串行总线)是一种广泛使用的硬件接口标准,用于连...
丙丁先生 2024-12-20 10:18
AI8051U跑马灯
//```c #include "..\..\comm\AI8051U.h"  // 包含头文件,定义了硬件寄存器和常量 #include "stdio.h"  &nbs...
丙丁先生 2024-12-16 13:02
擎天柱:Ai8051U-LQFP48 转 89C52-DIP40 核心功能实验板
擎天柱,这个名字听起来就像是从科幻电影里走出来的英雄。但今天,我们要聊的不是那个变形金刚,而是一款同样令人兴奋的实验板——Ai8051U-LQFP48 转 89C52-DIP40 核心功能实验板。这款...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条