专栏首页知识分享ESP8266 SDK开发: 外设篇-GPIO输入检测

ESP8266 SDK开发: 外设篇-GPIO输入检测

前言

  官方提供了以下函数检测引脚输入状态

  检测GPIO5

  if( GPIO_INPUT_GET(5) == 0 ) GPIO5当前为低电平

  if( GPIO_INPUT_GET(5) == 1 ) GPIO5当前为高电平

检测输入的第一种方式

  在引脚为输出的状态下,检测引脚输入状态

  注:该模式应用于检测引脚输出的高低电平状态.

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U , FUNC_GPIO5);

  GPIO_OUTPUT_SET(5, 1);//设置GPIO5输出高电平(控制继电器吸合)

  if(GPIO_INPUT_GET(5) == 1)   {     printf("\r\n 继电器引脚输出高电平 \r\n");   }

  另外:如果某个引脚控制传感器,传感器本身引脚有很强的拉低能力,也可以用此模式检测

  列如:开发板的GPIO0外接的按钮

  如想检测其是否按下:

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U , FUNC_GPIO0);

  GPIO_OUTPUT_SET(0, 1);//设置GPIO0输出高电平

  if(GPIO_INPUT_GET(0) == 0)   {     //按钮按下   }

  原因:

  即使控制引脚输出了高电平,当按下按钮的时候,引脚接地,引脚强制被拉低.

  注意:如果所接传感器的输出能力不强,则需要看下面第二种方式

检测输入的第二种方式

  补充一个知识点

  设置引脚输入上拉 PIN_PULLUP_EN(引脚的寄存器地址)

  检测输入的时候设置管脚为输入然后再做检测

  注:该模式主要应用于和芯片之间通信

  以下为检测GPIO0的输入

  // PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U , FUNC_GPIO0);//GPIO0作为普通IO功能(以前设置过作为普通IO,不需要重复设置)

  GPIO_DIS_OUTPUT(0);//如果以前设置过GPIO为输出,则调用此函数关闭GPIO0输出   PIN_PULLUP_EN(PERIPHS_IO_MUX_GPIO0_U);//上拉输入

  if(GPIO_INPUT_GET(0) == 0)   {     //引脚被拉低   }

其它

  配置多个引脚为输入

  GPIO_AS_INPUT(BIT2 | BIT13); //配置GPIO2,GPIO13为输入

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 4-51单片机WIFI学习(开发板51单片机自动冷启动下载原理)

    上一篇链接 http://www.cnblogs.com/yangfengwu/p/8743936.html 这一篇说一下自己板子的51单片机自动冷启动下载原理...

    杨奉武
  • ESP8266 SDK开发: 外设篇-GPIO中断检测

    杨奉武
  • 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    对了,其实对于RTOS SDK版本的开发可以直接去参考非RTOS SDK的API  这个直接有例子

    杨奉武
  • 2020 诺贝尔奖「第一棒」:英美三位科学家摘得桂冠!

    严峻的新型冠状病毒形势让今年的生理医学奖颁奖备受瞩目。本次的生理医学奖的颁奖热门领域有:功能性核磁共振及正子断层照影、Southern印迹法及DNA指纹分析技术...

    新智元
  • 在Xcode7中搭建python开发环境

    我使用的版本为Version 7.3 (7D175),关于基础配置部分,参考了Xcode6中搭建python开发环境的方法

    py3study
  • 汇编语言-第二章 寄存器(CPU工作原理)

    青木
  • VS中使用X64汇编

    需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm...

    战神伽罗
  • TOS中安装 SuperSU

    drunkdream
  • 数据下载 | 探空数据自动下载&可视化基础

    探空站一般是为探测高空气象要素而建立的,通过探空气球来收集每天8点和20点的高空气象数据,遇到特殊天气(台风等)会进行加密观测。可以获近地层、850、700、5...

    郭好奇同学
  • 求职 | 想转行数据科学,收好岗位选择指南与技能图谱分析!

    在大数据和人工智能行业,有众多与数据相关的岗位,名目繁多:数据分析师、数据产品经理、数据挖掘工程师、大数据工程师、数据开发工程师、机器学习工程师、算法工程师、N...

    PP鲁

扫码关注云+社区

领取腾讯云代金券