电子元器件论坛
直播中

李杰

7年用户 1284经验值
私信 关注

利用Arduino的ESP_IO2对IO进行控制

  一、GPIO控制介绍
  1.1 什么是GPIO
  首先我们了解下GPIO(General-purpose input/output),中文名通用型之输入输出的简称。
  输出模式,指GPIO是可以通过程序控制其电压高低,普通的GPIO只能输出(低电平0V)和高电平(3.3V,有的单片机是5V)。
  输入模式,指GPIO可以读取其上的电压,普通的GPIO只能读取低电平和高电平两种。比如当我们想测试一个按键是否被按下,就可以GPIO的输入功能。
  1.2 GPIO控制API
  Arduino提供了简单易用的API来控制IO的输入和输出。
  1.2.1 引脚模式设置-pinMode
  该函数用于定义特定引脚的 GPIO 操作模式。
  void pinMode(uint8_t pin, uint8_t mode);
  pin定义 GPIO 引脚编号。
  mode设置操作模式。
  基本输入和输出支持以下模式:
  INPUT将 GPIO 设置为不带上拉或下拉(高阻抗)的输入。
  OUTPUT将 GPIO 设置为输出/读取模式。
  INPUT_PULLDOWN 将 GPIO 设置为具有内部下拉列表的输入。
  INPUT_PULLUP 将 GPIO 设置为带有内部上拉的输入。
  1.2.2 数字输出-digitalWrite
  digitalWrite用于设置被配置为OUTPUT模式的引脚电平为HIGH 或 LOW。
  void digitalWrite(uint8_t pin, uint8_t val);
  pin所设置的GPIO编号。
  val将输出数字状态设置为HIGH 或LOW 。
  1.2.3 数字输入-digitalRead
  digitalRead用于读取配置为INPUT模式的给定引脚的状态。
  int digitalRead(uint8_t pin);
  pin 所设置的GPIO编号。
  此函数将返回所选引脚的逻辑状态为 HIGH或LOW。
  有了上面三个函数,我们就可以编写代码了。
  二、编写LED闪烁代码
  新建example02_led工程,接着输入下面的代码。
2.jpg
3.jpg
  这里我们让LED亮1s关闭1s,持续闪烁,代码很简单,不再讲解。
  编译下载代码到开发板,接着观察现象,你会发现蓝色LED灯在不断闪烁。
  三、通过串口控制LED
  我们继续更新下工程代码,实现通过串口指令来控制LED的亮灭。
2.jpg
3.jpg
  通过串口读取指令,收到on则打开LED,收到off关闭LED。
  将代码下载到开发板,接着打开串口监视器,输入指令进行测试。
2.jpg
  四、总结
  至此,我们成功完成了点灯,掌握了基本的GPIO输出控制。



原作者: 小鱼 鱼香ROS

更多回帖

发帖
×
20
完善资料,
赚取积分