本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!!

日后及时修正arduino esp8266 api 函数 esp8266使用arduino开发_输入输出函数!感谢支持!

 欢迎大家的关注arduino esp8266 api 函数 esp8266使用arduino开发_输入输出函数_02        点赞arduino esp8266 api 函数 esp8266使用arduino开发_单片机_03        收藏arduino esp8266 api 函数 esp8266使用arduino开发_程序设计_04        留言arduino esp8266 api 函数 esp8266使用arduino开发_引脚_05



目录

前言

        一、新建工程

        二、项目函数介绍                                         

        三、代码编写

        四、编译、烧录、运行

结束语


前言

        中断是每一位单片机开发者比较实用的一个基本外设、无论你是学习51单片机还是STM32等,都会接触到这个项目。可以说中断的合理使用可以让你的程序执行起来有意想不到的效果。这里除了中断,还会介绍两个高级的输入输出函数。


 一、新建工程

        首先打开Arduino IDE,点击 文件——> 点击新建,就会生成一个新的工程模板了。 (还可以点任务栏中“折了一角的书页”快速新建)。

arduino esp8266 api 函数 esp8266使用arduino开发_引脚_06

 然后给项目重命名,然后再保存。

arduino esp8266 api 函数 esp8266使用arduino开发_程序设计_07

 这样一个新的工程就建好了。


二、项目函数介绍

1. 中断函数

        无论什么单片机都具备中断功能,这款单片机也不例外,接下来就带大家接触它的中断服务函数。

        这里我就来解释以下这个函数说明一下它的功能及用途:

  (1)attachInterrupt(pin, ISR, mode)函数

功能

响应中断的处理程序——中断函数,当中断触发后,ESP8266便会运行这个函数。

作用

对中断引脚进行初始化配置,以开启ESP8266的外部中断功能

attachInterrupt(pin, ISR, mode)

参数

说明

pin

指定引脚编号的配置

value

中断函数名

mode

中断模式。有以下两种常用模式:LOW:低电平触发;HIGH:高电平触发;

  (2)detachInterrupt(pin)函数

功能

如果你不需要使用外部中断了,你可以用中断分离函数detachInterrupt() 来关闭中断功能。

参数

需要禁用中断的引脚。

2. 高级输入输出函数        

(1)tone()函数

功能

主要用于ESP8266连接蜂鸣器或扬声器发声。

作用

可以让指定引脚产生一个占空比为50%的指定频率的方波。

tone(pin, frequency)     //或 tone(pin, frequency, duration)

参数

说明

pin

需要输出方波的引脚

frequency

输出的频率,unsigned int型

duration

方波持续的时间,单位毫秒。如果没有该参数,ESP8266将持续发出设定的音调,直到你改变发声频率。

(2)noTone(pin)函数

功能

停止指定引脚上的方波输出。

参数

需要停止方波输出的引脚

(3)pulseIn()函数

       检测指定引脚上的脉冲信号宽度。

说明:例如当要检测高电平脉冲时,pulseIn() 会等待指定引脚输入的电平变高,当变高后开始记时,直到输入电平变低,停止计时。pulseln() 函数会返回这个脉冲信号持续的时间,即这个脉冲的宽度。函数还可以设定超时时间。如果超过设定时间,仍未检测到脉冲,则会退出pulseIn()函数并返回0。当没有设定超时时间时,pulseIn() 会默认1秒钟的超时时间。

pulseIn(pin, value) //或 pulseIn(pin, value, timeout)

参数

说明

pin

需要读取脉冲的引脚

value

需要读取的脉冲类型,HIGH或LOW

timeout

超时时间,单位微秒,数据类型为无符号长整型

返回值

返回脉冲宽度,单位微秒,数据类型为无符号长整型。如果在指定时间内没有检测到脉冲,则返回0。


 三、代码编写

示例:用中断控制下的按键点亮LED灯

        示例代码如下:

void setup() {
  // put your setup code here, to run once:
  pinMode(2,OUTPUT);
  pinMode(5,INPUT);
}

void LED_On(void)
{
  digitalWrite(2,LOW);
}

//void LED_Off(void)
//{
//  digitalWrite(2,HIGH);
  detachInterrupt(5);
//}


void loop() {
  // put your main code here, to run repeatedly:
//  if(digitalRead(5)==0)
//  {
    attachInterrupt(5,LED_On,LOW);
    detachInterrupt(5);
//  }
//  else
//    LED_Off();
}

 四、编译、烧录、运行

        在我前一篇博文就介绍了如何编译、烧录,这里就不再过多赘述了,还望谅解!

arduino esp8266 api 函数 esp8266使用arduino开发_输入输出函数_08

应视频的插入不便,这里就用图片代替,抱歉;其功能可以一目了然,当按键按下触发中断LED灯就被点亮了。


结束语

        关于此次基于Arduino IDE开发的ESP8266(ESP-12F)项目4 ——中断及高级输入输出项目的介绍就讲到这里了,此次教程的重点在于中断的使用,关于高级输入输出函数我给出链接供大家学习。调声函数 (arduino.cn)pulseIn() (arduino.cn)。如果什么问题请再评论区留言。

        接下来会陆陆续续发布一些其他的教程,敬请期待!感谢大家的支持!如有觉得这篇文章对你有所帮助的,还请点赞、收藏吧!