上一篇搞定了编程软件和基本的程序上传,抄了一段程序实现了板载LED的控制,那这一篇开始就要学一学这个python语言了,先来看上一篇的程序:
import machinepin = machine.Pin(2, machine.Pin.OUT)pin.on()
第1句 import machine是加载machine模块,加载了后我们才能对ESP32的引脚进行控制。
第2句machine.Pin(2, machine.Pin.OUT)则是将2号引脚定义为输出引脚
第3句pin.on()就是让这个引脚输出高电平,也就是3.3V
这个对引脚的控制还可以用下面写法:
pin.value(1)
它们是相同的。
那这一篇就先让这个LED灯闪烁起来,先修改程序如下:
import machine,timepin = machine.Pin(2, machine.Pin.OUT)pin.on()time.sleep(1)pin.off()time.sleep(1)
上面用了time.sleep(1),这个语句的意思也很明显,就是让ESP32睡1秒,其实就是延时1秒,有下面几种写法:
time.sleep(1) # 睡眠1秒
time.sleep_ms(500) # 睡眠500毫秒
time.sleep_us(10) # 睡眠10微妙
当然使用time函数之前先要加载time模块,可以直接跟在machine后面,加个逗号
点击绿色的运行按钮,如果接着上一篇的话应该就会迅速的上传完成,其实就是将ESP32里的main.py覆盖了一下,如果是刚打开软件的话,会出现下面的对话框
同样选择MicroPython设备
这时发现ESP32里已经有main.py了,就是我们上节课的程序,现在将其覆盖即可!
点击是后就会上传了。这时你会发现LED就亮了1秒,然后就熄灭了,没有闪烁。我们再来看看程序:
pin.on()time.sleep(1)pin.off()time.sleep(1)
打开LED,停1秒,然后关掉再停1秒,然后......就没有然后了。可以看到micropython和Arduino的运行机制有些不同,Arduino会一直循环运行loop()里的语句,而micropython只会运行一遍主程序。为了让其一直循环运行,我们得自己写一个类似loop()的语句:
import machine,timepin = machine.Pin(2, machine.Pin.OUT)while True: pin.on() time.sleep(1) pin.off() time.sleep(1)
我们加了第3句while True:
这是个while循环语句,只要while后面的语句为真,函数内的语句就会循环运行,我们直接写了while True:那么就永远为真了,函数内的语句就会永远运行下去。注意函数包含的语句要与前面空四个空格,这是python的编程格式,在C里面是{ },在python里就是空四个空格。具体的自己去百度python的基础教程。
再次上传,这下ESP32上的LED就会闪烁了!



