首页 > 其他分享 >GPIO

GPIO

时间:2024-09-02 20:37:28浏览次数:8  
标签:输出 引脚 模式 init 寄存器 GPIO

GPIO:通用型输入输出

STC8位单片机的每个引脚都有四种工作模式,分别是

工作模式 PnM1 PnM0 说明
准双向(弱上拉) 0 0 即可输入也可输出,灌电流可达20mA,拉电流为270~150uA
推挽输出(强上拉) 0 1 可达20mA,要加限流电阻
高阻输入 1 0 电流既不能流入,也不能流出,但可用于测电平
开漏输出 1 1 漏模式既可读外部状态也可对外输出,如要正确读外部状态或需要对外输出高电平,需外加上拉电阻

若想要使用引脚,则至少有三个8位寄存器搭配工作,两个配置寄存器,一个数据寄存器

PnM0,PnM1:是两个控制寄存器,n是端口组号,M0和M1是寄存器M0和寄存器M1,如下图,我们使用的板子有48个引脚,划分为6组,组号即Pxy前面的x,而每组划分为位0-7引脚,引脚编号即后面的y,每组引脚会采用两个8位的寄存器来控制该组每个引脚的工作模式,若想修改P53引脚的工作模式,只需给P5M0和P5M1寄存器的第3位赋值即可 由于通过位运算去修改寄存器某一位的值过于繁琐,所以我们可以使用单片机厂家提供的库,对配置引脚工作模式的这个功能进行函数封装
//配置GPIO端口工作模式函数
typedef struct
{
    u8	Mode;//IO模式,GPIO_PullUp(准双向,若上拉),GPIO_HighZ(高阻输入),GPIO_OUT_OD(开漏输出),GPIO_OUT_PP(推挽输出,强上拉)
	u8	Pin;//要设置的引脚	
} GPIO_InitTypeDef;
void GPIO_Config(){
    GPIO_InitTypeDef init;
    //定义一个GPIO_InitTypeDef结构体类型的变量
    //结构体成员有GPIO_Mode和GPIO_Pin,分别是端口工作模式和引脚编号
    init.Mode = GPIO_PullUp;
    init.Pin = GPIO_Pin_0;
    GPIO_Inilize(GPIO_P0,&init);
    //初始化函数的两个参数分别是端口号和结构体变量
}

标签:输出,引脚,模式,init,寄存器,GPIO
From: https://www.cnblogs.com/izxw/p/18393362

相关文章

  • STM32GPIO操作底层解析
    我们使用HAL和标准库时,常常忽略他两的底层,只知道怎么用不知其原理,其实是大忌,因为底层丢了代码的灵魂就丢了,对以后的Linux开发不利常用的指令函数:voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal){/*Checktheparameters*/assert_p......
  • STM32 GPIO 寄存器的配置
    32位配置寄存器:GPIOx_CRL,GPIOx_CRH32位数据寄存器:GPIOx_IDR,GPIOx_ODR32位置位/复位寄存器:GPIOx_BSRR16位复位寄存器:GPIOx_BRR32位锁定寄存器:GPIOx_LCKRGPIO寄存器详解CRL和CRH控制IO口,是四个位控制一个口,所以要两个32位的来控制16个口CRL32位端口配置低寄存器(GPIOx_......
  • 零基础国产GD32单片机编程入门(一)GD32单片机GPIO输出Keil5工程创建含源码
    文章目录一.概要二.GD32单片机GPIO内部结构图三.GD32单片机GPIO输入输出信号流向四.GD32单片机GPIO引脚的复用以及重映射五.从零开始创建一个GD32F103C8T6单片机GPIO输出驱动LED灯例程六.工程源代码下载七.小结一.概要GPIO(generalporposeintputoutput):单片机通......
  • nvidia系列教程-AGX-Orin 确定gpio编号
    目录前言一、软件版本说明二、debugfs得到gpio三、gpio操作总结前言        NVIDIAJetsonAGXOrin是一款强大的嵌入式AI计算平台,适用于各种复杂的边缘计算任务。对于开发者来说,准确地控制和操作GPIO(通用输入输出)引脚是非常重要的。本文将详细介绍如......
  • 第6章 GPIO输出-使用固件库控制LED
    第六章GPIO输出—使用固件库控制LED1.硬件设计在开发板上面与LED的连接见图,这是一个RGB灯,里面由红蓝绿三个小灯构成,使用PWM控制时可以混合成256不同的颜色。2.软件设计为了使工程更加有条理和方便迁移,我们把LED灯控制相关的代码分别独立存储。在“工程模板”之上新建一个......
  • 基于STM32F407ZGT6芯片的GPIO工作模式
    目录4种输入模式4种输出模式输入模式模拟输入浮空输入上拉输入下拉输入输出模式推挽输出开漏输出复用推挽输出复用开漏输出4种输入模式(1)GPIO_Mode_IN_FLOATING浮空输入(2)GPIO_Mode_IPU上拉输入(3)GPIO_Mode_IPD下拉输入(4)GPIO_Mode_AIN模拟输入4种输出模......
  • 【CUBEide】01 GPIO输入/输出
    一、GPIO功能概述1、八种工作模式(1)输入浮空:作为GPIO输入引脚,不使用上拉或下拉电阻;(2)输入上拉:作为输入引脚,使用内部上拉电阻,引脚外部无输入时读取的电平为高电平;(3)输入下拉:输入引脚,使用内部下拉电阻,引脚外部无输入时读取的引脚输入电平为低电平(4)模拟:作为GPIO模拟引脚,用于ADC......
  • 痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题(上篇)
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题探析。前段时间有一个RT1052客户反馈了一个有趣的问题,他们设计得是一个带LCD屏交互的应用,应用以官方SDK里的lvgl_demo_widgets_bm例程......
  • AFIO专题1:GPIO引脚复用和重映射
    1、GPIO的复用功能STM32上有很多片上外设,这些外设的外部引脚都是与GPIO口复用的。也就是说,一个GPIO口如果可以复用为片上外设的功能引脚,那么当这个GPIO作为片上外设使用的时候,就叫做复用。因此,使用外设功能配置GPIO输出时都要设置成复用输出模式:GPIO_Mode_AF_PP或GPIO_Mode_A......
  • STM32F407 GPIO
    //单片机:   是典型的嵌入式微控制器,英文MCU;是一种集成电路芯片,采用超大规模集成电路技术把FPU,RAM,ROM,I/O口中断系统,定时器计数器等功能集成到一块硅片上,构成的小而完善的计算机系统。//中央处理器(FPU)(168MHz)//随机存储器(RAM)//只读存储器(ROM)//定时器:   重要  ......