layout: post title: “ESP8266学习笔记(四)模块引脚功能和第一个Micropython程序” date: 2017-06-14 16:25:06 -0700 —

  我买的模块包括ESP8266核心模块和ESP12扩展(第一讲已经有过照片了)包括了:

  • D0-D10,SD0-SD3均可复用为 GPIO,PWM,I2C,1-Wire,驱动能力15ma
  • A0 :1路 ADC
  • USB供电
  • USB转串口调试接口 当你要做一些自动控制时,必须了解模块各个引脚的功能。因为有不同以esp8266为核心的模块,所以找对应的引脚功能费了一番功夫,请各位对照自己购买模块是否和我的一样。 模块引脚:

引脚

名称

功能(ES8266)

15

AD0

ADC

14

RSV

保留

13

RSV

保留

12

SD3

GPIO10

11

SD2

GPIO9

10

SD1

SPI INT

9

CMD

SPI MOSI

8

SO0

SPI MISO

7

CLK

SPI CLK

6

GND

5

3V3

3.3v

4

EN

芯片使能EN

3

RST

ESP12E复位RST

2

GND

1

VIN

电源4.5-9V

1

3V3

3.3v

2

GND

3

TX/D10

UART输出

4

RX/D9

UART接收

5

D8

GPIO15

6

D7

GPIO13

7

D6

GPIO12

8

D5

GPIO14

9

GND

10

3V3

3.3v

11

D4

GPIO2

12

D3

GPIO0

13

D2

GPIO4

14

D1

GPIO5

15

D0

GPIO16

  注:其中16只能做DIO,不支持PWM和中断。[9, 10]是ESP - 12E以后才提供的,但是GPIO9不能做通用IO,GPIO10和GPIO16类似。
  GPIO就是通用的输入输出端口,使用micropython操作GPIO特别简单。在模块GPIO2引脚上有一个LED,下面的程序可以使LED间隔3秒钟闪烁。

  from machine import Pin
  import time
  p2 = Pin(2, Pin.OUT)    # create output pin on GPIO2
  p2.value(1)             # set pin to high
  while True:
      p2.low()                # set pin to low
      p2.value()
      time.sleep(3)           # sleep for 3 second
      p2.high()               # set pin to high
      p2.value()
      time.sleep(3)           # sleep for 3 second

  模块启动后会自动执行main.py程序,根据第一讲的方法,把上面的程序保存成main.py,然后上传到模块上,重新启动一下就可以看到LED在一闪一闪。   好了,你已经完成第一个micropython程序,是不是很简单?

  本人的更多原创文章请加入个人微信公众号。