运行MicroPython的ESP8266简易入门(2)

我没写一行代码,但是我已经运行自己的第一个程序了,当然,这是基于别的程序,接下来我要开始学习写自己的程序。首先我先分析一下别人的代码,还是那个点灯程序:

import time
from machine import Pin
led=Pin(2,Pin.OUT)          #create LED object from pin2,Set Pin2 to output

while True:
  led.value(1)              #turn off
  time.sleep(0.5)
  led.value(0)              #turn on
  time.sleep(0.5)

第一行import time:高亮的import是导入一个模块的意思,time是内置的模块

第二行from machine import Pin: 这是导入一个模块machine中的Pin函数的意思,因为machine包含的函数很多,但是这里我们只需要用到这一个,就需要这种方法调用。调用完成后import后的函数就能直接使用了。当然我们也可以调用整个模块,import machine 这样写,但是后面的Pin就不能直接用了,需要把第三行led=Pin(2,Pin.OUT)改成led=machine.Pin(2,machine.Pin.OUT) ,这样和原来程序的效果是一样的。

第三行led=Pin(2,Pin.OUT) led是一个对象名称,可以任意命名。等号后面的部分是第二行调用的函数Pin的使用,()里面2是引脚名称,表示操作模块的引脚2,这个开发板的led就接在这个引脚上所以用2。Pin.OUT是Pin函数内的常量,表示这个引脚是输出用的。

第五行while True::while是等待,True是真,实际值是1,连起来就是,如果while后面是真,就执行下面的程序,与True相反的就是False=0,把True换成False就是一直不执行的意思。

第六行led.value(1) :value是改变引脚状态的作用,后面()1表示这个引脚输出高电平,相反()0表示引脚输出低电平。开发板上的led其中一个引脚已经接上高电平了,如果我们让控制引脚变成低电平,这个led自然就亮了。(这里写的不严谨,等你知道为什么不严谨,就不需要再看教程了)

第七行time.sleep(0.5):sleep是time模块的一个函数,调用它可以让程序休息0.5秒。这里因为我们只用了这一个函数,那么第一行就可以写成from time import sleep,第七行就可以不写time,改成sleep(0.5),相同的第九行也改好,运行效果是一样的。

第八第九行同上。这样我们就知道blink.py程序的运行原理了,那么我们可以修改一下第六到九行,改成熄灭2秒亮一秒

  led.value(1)              #turn off
  sleep(2)
  led.value(0)              #turn on
  sleep(1)

或者快速闪烁:

  led.value(1)              #turn off
  sleep(0.1)
  led.value(0)              #turn on
  sleep(0.1)

再或者一直长亮:

  led.value(0)              #turn off

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Micropython ESP8266 串口是一种用于ESP8266芯片的串口通信协议,可以通过该协议实现ESP8266芯片与其他设备之间的数据传输。Micropython是一种基于Python语言的微型操作系统,可以在ESP8266芯片上运行,提供了丰富的库函数和API接口,方便开发者进行开发和调试。通过Micropython ESP8266 串口,开发者可以轻松地实现ESP8266芯片与其他设备之间的通信,例如与传感器、执行器、显示屏等设备进行数据交互。 ### 回答2: Micropython支持ESP8266的串口通讯,这使得ESP8266可以使用python语言进行编程。在ESP8266中,通常有两个串口可用:硬件串口和软件串口。 硬件串口是指在ESP8266芯片内部集成的串口,通常可用于连接外设,如传感器、显示器、WiFi模块等。硬件串口是高速的,通常可达到115200、230400、460800等波特率。 软件串口是指通过GPIO模拟实现的串口功能。软件串口的波特率通常较慢,最高可达到19200波特率。但软件串口的好处是可随意选择任何GPIO引脚作为串口通讯端口,从而使得它更加灵活。 在Micropython中,使用`machine`模块的`UART`类实现串口通讯。下面是一个基本的代码示例: ``` import machine uart = machine.UART(0, 115200) #创建一个UART对象,设置波特率为115200 uart.write('Hello, world!') #发送数据 data = uart.read(10) #读取10个字节的数据 print(data) #打印读取的数据 ``` 在上面的代码中,`UART`类的第一个参数`0`表示使用硬件串口,第二个参数`115200`表示设置波特率为115200。`write()`方法发送数据,`read()`方法读取数据。如果要使用软件串口,可以将`UART`类的第一个参数换成对应的GPIO引脚。 使用Micropython实现ESP8266串口通讯,可以让开发者使用简洁的python语言进行开发和调试,提高开发效率。同时,由于Micropython支持的语言特性和库非常丰富,可以大大降低开发的难度。 ### 回答3: Micropython是一个小型的Python解释器,它可以在微控制器上运行。而ESP8266则是一款完整的WiFi芯片,它的处理器集成了TCP/IP协议栈和一些通用IO口,因此它可以作为物联网设备的核心控制器使用。在使用ESP8266进行开发时,串口是一种非常常见的通信方式。那么,如何在Micropython中使用ESP8266的串口呢? 首先,需要导入机器模块和UART(串口)模块: ```python from machine import UART ``` 接着,创建一个UART对象: ```python uart = UART(0, 115200) # 初始化并设置波特率为115200 ``` 其中,参数0表示使用串口0,波特率为115200。当然,也可以使用其它的串口和波特率。 接下来就可以使用串口进行通信了。例如,通过串口发送一段数据: ```python uart.write('Hello, World!\n') ``` 这行代码将会向串口发送字符串“Hello, World!”并换行。需要注意的是,Micropython的串口写操作和Python的print函数不同,不会自动添加换行符。 当然,也可以通过串口读取数据。例如,读取一个字节: ```python data = uart.read(1) # 读取1个字节 ``` 这行代码将会从串口读取一个字节数据,并将结果保存在data变量中。如果要读取更多的字节,可以增加参数。如: ```python data = uart.read(10) # 读取10个字节 ``` 当然,读取串口时也可以使用不同的阻塞模式。默认情况下,读取串口时会一直等待,直到有数据可读。如果想要在没有数据的情况下立即返回,可以使用UART的相应方法。如: ```python data = uart.read(10) # 读取10个字节 uart.readinto(buf) # 将数据读取并存储到buf中 uart.any() # 返回当前接收缓冲区中的字节数 ``` 最后,需要注意的是,Micropython的串口功能与Python中的serial库有所不同,特别是在串口读取时。有些主机操作系统上的串口接口并不支持非常灵活的非阻塞读取,因此在实际使用中需要多加注意。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值