esp8266开发入门教程(基于Arduino)

您所在的位置:网站首页 xding编程软件教程讲解 esp8266开发入门教程(基于Arduino)

esp8266开发入门教程(基于Arduino)

2024-05-31 00:15| 来源: 网络整理| 查看: 265

esp8266开发入门教程(基于Arduino)——编程基础介绍

目录 esp8266开发入门教程(基于Arduino)——编程基础介绍前言一、Arduino项目最基本的函数1、setup() 函数2、loop()函数 二、Arduino常用的功能函数1、GPIO2、外部中断3、时钟相关4、串口5、PWM6、ADC 三、结束语

前言

很多刚接触Arduino的同学可能不太清楚Arduino的编程方法和代码运行的流程,所以这一讲我简单介绍一下。Arduino为了降低编程的难度把很多常用的函数都做了封装,很多常用的一些传感器和外设也有相关的类库,而且除了官方的库,也有很多第三方的库可用,开发者只需要根据自己的实际需要添加库调用API即可,这对于项目初期验证方案来说很方便。

一、Arduino项目最基本的函数

不管是什么程序,都会有一个程序的入口,比如传统C/C++程序,它的入口就是main函数,但是在Arduino项目中我们并没有看到这个函数,那Arduino的程序是从哪里开始运行的呢? 实际上Arduino的程序入口也是main函数,只不过它是封装在Arduino核心库中的,我们看不到而已,为了简化开发的流程,Arduino只给出了setup() 函数和loop()函数,而这两个函数实际上是在main函数里面被调用执行的。下面我们来具体讲解一下这两个函数的作用。

1、setup() 函数

Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,该部分只会执行一次。 通常我们会在setup() 函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。

2、loop()函数

在setup() 函数中的程序执行完后,Arduino会接着执行loop() 函数中的程序。而loop()函数是一个死循环,其中的程序会不断的重复运行。 通常我们会在loop() 函数中完成程序的主要功能,如驱动各种模块,采集数据等。

二、Arduino常用的功能函数 1、GPIO

1)在使用输入或输出功能前,需要先通过pinMode() 函数配置引脚的模式为输入模式或输出模式。

pinMode(pin, mode) 参数说明pin指定配置的引脚编号mode指定的配置模式。通常可用模式有三种, INPUT:输入模式,OUTPUT:输出模式,INPUT_PULLUP :输入上拉模式

2)让某个引脚输出高电平或者是低电平。

digitalWrite(pin, value) 参数说明pin指定配置的引脚编号value指定输出的电平。HIGH:输出高电平,LOW:输出低电平

3)读取某个引脚的电平状态,返回值为获取到的信号状态,1为高电平,0为低电平。

digitalRead(pin) 参数说明pin指定配置的引脚编号 2、外部中断

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

attachInterrupt(pin, ISR, mode) 参数说明pin指定配置的引脚编号ISR中断服务函数名,该函数由用户自己定义mode中断模式,HIGH:上升沿触发、LOW:下降沿触发

示例: attachInterrupt(2, Hello, LOW); 该语句会开启Arduino Uno的 2号引脚(中断编号0)的外部中断功能,并指定下降沿时触发该中断。Hello() 函数是自己定义的一个函数,函数里面执行什么也是根据自己的需要来写。 当2号引脚上电平由高变低后,该中断会被触发,Arduino即会运行Hello() 函数中的语句。

2)中断分离函数,可以对已经配置了中断的引脚关闭中断功能。

detachInterrupt(pin) 参数说明pin指定配置的引脚编号 3、时钟相关

1)获取Arduino通电后(或复位后)到现在的时间。返回值为系统运行时间,单位毫秒ms。

millis()

2)获取Arduino通电后(或复位后)到现在的时间。返回值为系统运行时间,单位微秒us。

micros()

3)毫秒级延时。

delay(ms) 参数说明ms延时时间,类型unsigned long

4)微秒级延时。

delayMicroseconds(us) 参数说明us延时时间,类型unsigned int 4、串口

1)使用串口与计算机通信,需要先使用Serial.begin() 初始化Arduino的串口通信功能。

Serial.begin(speed, config) 参数说明speed串口通信波特率,常用波特率:300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200config数据位、校验位、停止位配置(也可以不配置) config可选配置数据位校验位停止位SERIAL_5N15无1SERIAL_6N16无1SERIAL_7N17无1SERIAL_8N1(默认配置)8无1SERIAL_5N25无2SERIAL_6N26无2SERIAL_7N27无2SERIAL_8N28无2SERIAL_5E15偶1SERIAL_6E16偶1SERIAL_7E17偶1SERIAL_8E18偶1SERIAL_5E25偶2SERIAL_6E26偶2SERIAL_7E27偶2SERIAL_8E28偶2SERIAL_5O15奇1SERIAL_6O16奇1SERIAL_7O17奇1SERIAL_8O18奇1SERIAL_5O25奇2SERIAL_6O26奇2SERIAL_7O27奇2SERIAL_8O28奇2

例如:Serial.begin(9600, SERIAL_8E2) 是将串口波特率设为9600,数据位8,偶校验,停止位2。

提示:Serial.begin函数也可以只配置波特率,如:Serial.begin(9600)

2)串口打印输出。

Serial.print(val) 参数说明val要输出的数据,各种类型的数据均可

3)在输出完指定数据后,再输出一组回车换行符。

Serial.println(val) 参数说明val要输出的数据,各种类型的数据均可

4)接收串口数据。调用该语句,每次都会返回一个字节的数据,这个返回值便是当前串口读取到的数据。

Serial.read()

提示:以上几个是串口最常用最基础的函数,还有很多函数和用法这里没有介绍,感兴趣的同学可以自己去查阅。

5、PWM

1)PWM输出功能。 在Arduino Uno中,提供PWM功能的引脚为3、5、6、9、10、11。

analogWrite(pin,value) 参数说明pin要读取模拟值的引脚,被指定的引脚必须是模拟输入引脚valuePWM的脉冲宽度,范围为0~255

提示:在analogWrite() 函数内部,已经完成了引脚的初始化,因此不用在Setup() 函数中进行初始化操作。

6、ADC

1)ADC输入功能。 模拟输入引脚是带有ADC(Analog-to-Digital Converter,模数转换器)功能的引脚。它可以将外部输入的模拟信号转换为芯片运算时可以识别的数字信号,从而实现读入模拟值的功能。 Arduino Uno模拟输入功能有10位精度,即可以将0~5V的电压信号转换为0~1023的整数形式表示。

analogRead(pin) 参数说明pin要读取模拟值的引脚,被指定的引脚必须是模拟输入引脚

提示:在analogRead() 函数内部,已经完成了引脚的初始化,因此不用在Setup() 函数中进行初始化操作。

示例:analogRead(A0),即是读取A0引脚上的模拟值。

三、结束语

好了,关于Arduino编程基础的介绍就讲到这里,常用的函数我这里只是列举了一部分,需要用到其他函数的话你们自行查阅。如果还有什么问题,欢迎在评论区留言。如果这篇文章能够帮到你,就给我点个赞吧,如果想了解更多Arduino的内容,可以关注一下博主,后续我还会继续分享更多的经验给大家。

esp8266基于Arduino的开发教程汇总: https://blog.csdn.net/ShenZhen_zixian/article/details/121659482



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3