首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ESP8266 SDK开发: 外设篇-GPIO输出高低电平

ESP8266 SDK开发: 外设篇-GPIO输出高低电平

作者头像
杨奉武
发布2019-12-10 17:48:53
发布2019-12-10 17:48:53
3.5K0
举报
文章被收录于专栏:知识分享知识分享

前言

  官方提供了两个函数

GPIO_OUTPUT_SET(gpio_no, bit_value)

设置GPIO2输出高电平

GPIO_OUTPUT_SET(2, 1);

设置GPIO2输出低电平

GPIO_OUTPUT_SET(2, 0);

GPIO_OUTPUT(gpio_bits, bit_value)

官方提供的一次性设置多个引脚函数

设置GPIO2和GPIO5输出高电平

GPIO_OUTPUT(BIT2 | BIT5, 1);

设置GPIO2和GPIO5输出低电平

GPIO_OUTPUT(BIT2 | BIT5, 0);

开发板原理图

  一,LED(GPIO2)

  二,继电器(GPIO5)

不过正常流程是先设置这个引脚的功能

PIN_FUNC_SELECT(IO口的寄存器地址 , 功能)

举例1:配置 GPIO2作为普通IO

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);

举例2:配置 GPIO2作为串口功能

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U  , FUNC_UART1_TXD_BK );

  说一下: FUNC_UART1_TXD_BK 这个我具体也不知道是什么意思,只知道可能是作为串口1的TX输出

举例3:配置 GPIO5作为普通IO功能

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5 );

注: 这一个是默认的功能

  注:在配置完PIN_FUNC_SELECT 以后,当前引脚为高阻态,既不是高电平也不是低电平.

测试(GPIO2输出高电平点亮LED)

#include "gpio.h"

PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2);

GPIO_OUTPUT_SET(2, 1);//设置GPIO2输出高电平

测试(GPIO2输出低电平,GPIO5输出高电平控制继电器吸合)

#include "gpio.h"

GPIO_OUTPUT_SET(2, 0);//设置GPIO2输出低电平

GPIO_OUTPUT_SET(5, 1);//设置GPIO5输出高电平

测试(GPIO2输出低电平,GPIO5输出低电平)

#include "gpio.h"

PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U , FUNC_GPIO2); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U , FUNC_GPIO5);

GPIO_OUTPUT(BIT2 | BIT5, 0);//设置GPIO2和GPIO5输出低电平

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • GPIO_OUTPUT_SET(gpio_no, bit_value)
  • GPIO_OUTPUT(gpio_bits, bit_value)
  • 开发板原理图
  • 不过正常流程是先设置这个引脚的功能
  • 测试(GPIO2输出高电平点亮LED)
  • 测试(GPIO2输出低电平,GPIO5输出高电平控制继电器吸合)
  • 测试(GPIO2输出低电平,GPIO5输出低电平)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档