当前位置:网站首页>EPP+DIS学习之路(2)——Blink!闪烁!

EPP+DIS学习之路(2)——Blink!闪烁!

2022-07-07 10:12:00 MakeMaker

上一篇搞定了编程软件和基本的程序上传,抄了一段程序实现了板载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就会闪烁了!

原网站

版权声明
本文为[MakeMaker]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_33378028/article/details/125498708