arduino8266控制引脚

一、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() 函数中完成程序的主要功能,如驱动各种模块,采集数据等。

GPIO

1、初始化GPIO

pinMode(pin, mode)

作用:设置一个引脚(pin)作为GPIO时的I/O模式。

参数:

参数

说明

pin

指定配置的引脚编号

mode

指定的配置模式。通常可用模式有三种, INPUT:输入模式,OUTPUT:输出模式,INPUT_PULLUP :输入上拉模式

INPUT_PULLUP:作为数字输入,且使能引脚的内部上拉电阻

注意:

a、引脚作为PWM输出时,无需先前使用pinMode配置其模式,因为PWM本身就代表了输出的意思。且官方库源代码中可以发现,它已经帮我们配置为输出了。

b、模拟引脚也可以作为数字引脚使用,完全OK。这在数字引脚不够用的情况下非常有用。

2、GPIO数字输出

digitalWrite(pin, value)

作用:设置一个数字输出引脚的输出电平值,HIGH或者LOW。

参数:

参数

说明

pin

指定配置的引脚编号

value

指定输出的电平。HIGH:输出高电平,LOW:输出低电平

3、GPIO数字输入

int digitalRead(pin)

作用:读取一个数字输入引脚的电平值。

返回:HIGH(高电平)或者LOW(低电平)。

参数

说明

pin

指定配置的引脚编号

示例 : 按键控制灯亮灭

void setup()
{
  pinMode(2,OUTPUT);
  pinMode(0,INPUT_PULLUP);
}
 
void loop()
{
  if(digitalRead(0))
  {
    while(digitalRead(0));
    digitalWrite(2,!digitalRead(2));
  }
}

控制LED灯

void setup() {
  // put your setup code here, to run once:
  pinMode(2, OUTPUT); // 初始化引脚,把引脚2设置为输出模式,引脚号根据自己的实际使用设置
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(2, LOW); // 把引脚2设置为低电平,如果2引脚连接的是LED的负极则灯亮,如果是正极则灯灭
}

延时函数,定时1s循环点亮和熄灭LED灯,让它闪烁起来。

示例代码:

void setup() {
  // put your setup code here, to run once:
  pinMode(2, OUTPUT);     // 初始化引脚,把引脚2设置为输出模式,引脚号根据自己的实际使用设置
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(2, LOW);   // 把引脚2设置为低电平,如果2引脚连接的是LED的负极则灯亮,如果是正极则灯灭
  delay(1000);            // 延时1000ms
  digitalWrite(2, HIGH);  // 把引脚2设置为低电平
  delay(1000);            // 延时1000ms
}

4、GPIO模拟输入:analogRead(pin)

注意 : 模拟输入是通过PWM实现的, 所以不需要初始化PIN
analogRead(4)

5. 模拟信号输入分辨率: analogSetWidth(bit);

bit的值

范围

9

0~511

10

0~1023

11

0~2047

12(默认)

0~4095

1、串口初始化

Serial.begin(speed, config)

  • 参数

  • speed:波特率,一般取值9600,115200等。

  • config:设置数据位、校验位和停止位。默认SERIAL_8N1表示8个数据位,无校验位,1个停止位。

  • 返回值:无。

2、关闭串口

Serial.end()

描述:禁止串口传输。此时串口Rx和Tx可以作为数字IO引脚使用。

原型:Serial.end()

参数:无。

返回值:无。

3、串口打印

Serial.print()

描述:串口输出数据,写入字符数据到串口。

原型:

Serial.print(val)

Serial.print(val, format)

参数:

val:打印的值,任意数据类型。

config:输出的数据格式。BIN(二进制)、OCT(八进制)、DEC(十进制)、HEX(十六进制)。对于浮点数,此参数指定要使用的小数位数。

4、串口输出数据并换行 println() 和 printf()

Serial.println()

Serial.printf()

描述:串口输出数据并换行。

原型:

Serial.println(val)

Serial.println(val, format)

参数:

val:打印的值,任意数据类型。

config:输出的数据格式。

返回值:返回写入的字节数。

附: 常用格式字符及转义字符

字符

说明

%o

八进制整数输出

%d

十进制整数输出

%x

十六进制整数输出

%f

浮点输出,默认6位小数

%c

单字符输出

%s

字符串输出

\n

换行

\r

回车

\t

Tab制表符

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值