一. 开发板介绍

esp8266 怎样让CPU空闲 esp8266 cpu频率_引脚

1. ESP8266 CP2102物联网模块

NodeMCU板载ESP-12E(4MBFlash) WIFI模组和USB转TTL串口(CP2102/CH340)芯片,方便下载固件和调试, NodeMCU默认为Lua固件,如需使用AT指令,请下载新的AT固件。开发板核心处理器ESP8266在较小尺寸封装中集成了业界领先的TensilicaL106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支持RTOS,集成Wi-FiMAC/B/RF/PA/LNA,板载天线。支持标准的IEEE802.11b/g/n协议,完整的TCP/IP协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。
ESP8266是高性能无线SOC,以最低成本提供最大实用性, 为WiFi功能嵌入其他系统提供无限可能。
802.11 b/g/n
内置TensilicaL106超低功耗32位微型MCU,主频支持80MHz和160MHz,支持RTOS
160KB SRAM(64KB lRAM+96KB DRAM)
内置10bit高精度ADC
内置TCP/IP协议栈
内置TR开关、balun、LNA、功率放大器和匹配网络内置PLL、稳压器和电源管理组件, 802.11b模式下+20dBm的输出功率
A-MPDU、A-MSDU的聚合和0.4s的保护间隔
WiFi@2.4GHz,支持WPA/WPA2安全模式
支持AT远程升级及云端OTA升级
支持STA/AP/STA+AP工作模式
支持Smart Config功能(包括Android和ios设备)
HSPI、UART、I2C、12S、IRRemote Control、PWM、GPIO深度睡眠保持电流为10uA,关断电流小于5uA
2ms之内唤醒、连接并传递数据包
支持Smart Config/AirKiss-键配网支持SDK二次开发
待机状态消耗功率小于1.0mW (DTIM3)

2. 引脚说明

esp8266 怎样让CPU空闲 esp8266 cpu频率_引脚_02

二、GPIO

1、初始化GPIO

pinMode(pin, mode)

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

参数:
pin:引脚编号
mode:GPIO的I/O模式,取值有3种
INPUT :作为数字输入
OUTPUT :作为数字输出
INPUT_PULLUP:作为数字输入,且使能引脚的内部上拉电阻

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

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

2、GPIO数字输出

digitalWrite(pin,value)

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

参数:
pin:引脚编号。此引脚必须在之前使用pinMode设置为OUTPUT模式
value:2个值

LOW:输出低电平

HIGH:输出高电平

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));
  }
}

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

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

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

bit的值

范围

9

0~511

10

0~1023

11

0~2047

12(默认)

0~4095

三、串口打印 UART

esp8266 怎样让CPU空闲 esp8266 cpu频率_esp8266 怎样让CPU空闲_03

串口名

Arduino名

TX

RX

UART0

Serial

pin1

pin3

UART1

Serial1

pin10

pin9

UART2

Serial2

pin17

pin16

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制表符