窥探ESP8266GPIO

一:简述

在这次,主要是记录一下自己对8266IO口的使用(代码为nonos版本)。

硬件:ESP-LAUNCHER开发板(使用IO13为按键输入,IO12为指示灯输出)

要求:开发板上电,指示灯不亮;按下按键,指示灯亮;放开手,指示灯不亮。

二:查看文档

文档截图:

 

选定GPIO管脚(以GPIO12为例):PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12)

设定该管脚为输出且输出高电平:GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1)

设定该管脚为输入:GPIO_DIS_OUTPUT(GPIO_ID_PIN(12))

三:程序

#include "driver/uart.h"  //串口0需要的头文件
#include "osapi.h"  //串口1需要的头文件
#include "gpio.h"  //端口控制需要的头文件

void delay(uint32 Delay_Time)//毫秒延时函数,不可延时太久
{
	for(;Delay_Time > 0;Delay_Time--)
	{
		os_delay_us(1000);
	}
}

void  user_init()//初始化
{
    uart_init(115200, 115200);//设置串口0和串口1的波特率

    //IO口练习
    PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);//选择指示灯IO口
    GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//默认指示灯不亮
    PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13);//选择按键IO口
    GPIO_DIS_OUTPUT(GPIO_ID_PIN(13));//设置IO13为输入
    while(1)
    {
    	if(GPIO_INPUT_GET(GPIO_ID_PIN(13)) == 0)
    	{
    		delay(10);//延时去抖
    		if(GPIO_INPUT_GET(GPIO_ID_PIN(13)) == 0)
    		{
    			GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);
    		}
    	}

    }
}

void user_rf_pre_init()
{

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: ESP8266是一款低成本、低功耗的Wi-Fi模块,具有丰富的GPIO(通用输入输出)功能。在配置ESP8266GPIO时,可以参考ESP8266_Pin_List_xxxxxx.xlsx表格,其中的Digital Die Pin List页提供了通用的GPIO和复用功能的信息。在Reg页可以查阅到GPIO功能选择相关的寄存器。\[1\] ESP8266GPIO引脚有多个功能,如GPIO0、GPIO2、GPIO4等,每个引脚都有对应的编号和复用功能。例如,GPIO0的引脚编号为15,复用功能为UGPIO1。类似地,GPIO2的引脚编号为14,复用功能为UGPIO3。\[2\] 在处理ESP8266GPIO中断函数时,可以参考以下示例代码。首先,通过读取GPIO_STATUS_ADDRESS寄存器来获取中断状态,然后根据中断状态进行相应的处理。在处理过程中,可以使用GPIO_REG_WRITE函数来清除中断掩码,以确保中断被正确处理。\[3\] 总之,配置ESP8266GPIO时,可以参考ESP8266_Pin_List_xxxxxx.xlsx表格中的信息,并根据需要使用相应的引脚和功能。同时,处理GPIO中断时,可以参考示例代码来实现相应的功能。 #### 引用[.reference_title] - *1* *2* *3* [ESP8266 GPIO 使用说明](https://blog.csdn.net/springcity2014/article/details/82985377)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值