栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998078.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号