3552浏览
查看: 3552|回复: 0

[uPyCraft IDE] ESP32 常用的模块 esp 3.1.15

[复制链接]

函数

1. esp.flash_read(byte_offset, buf)

函数说明:从地址为 byte_offset 的 flash 起始点读取 buf.len()个长度的数据并放入 buf 中。

byte_offset:flash偏移地址
buf:接收数据缓冲区,缓冲区的长度为len

示例:

import esp

buf = bytearray(100)
esp.flash_read(2097152, buf)

esp.flash_write(byte_offset, buf)

函数说明:将 buf 中所有的数据写入地址为 byte_offset 的 flash 区域。

byte_offset:flash偏移地址
buf:数据缓冲区,缓冲区长度为len

示例:

buf = bytearray(100)
esp.flash_write(2097152, buf)

3. esp.flash_erase(sector_no)

函数说明:擦除flash扇区。

sector_no:要擦除的扇区

示例:

esp.flash_erase(512)

4. esp.flash_size()

函数说明:返回flash的大小。

5. esp.flash_user_start()

函数说明:返回用户可使用flash起始地址。

6. esp.neopixel_write(pin, grb_buf, timing)

函数说明:该函数可用于控制LED灯条。

pin:LED灯条连接的引脚
grb_buf:rgb颜色
timing:频率

示例:

from machine import Pin
import esp

pin = Pin(2, Pin.OUT)
rgb = bytearray([255, 0, 0])  #红色
while True:
  esp.neopixel_write(pin, rgb, 800)

7. esp.dht_readinto(pin, buf)

函数说明:读dht的值(温湿度传感器)。

pin:读取数据的引脚
buf:数据缓冲区

示例:
本示例需要连接DHT11模块,点击购买DHT11

from machine import Pin
import time
import esp
buf = bytearray(5)

def measure(pin):
  global buf
  esp.dht_readinto(pin, buf)
  if(buf[0]+buf[1]+buf[2]+buf[3])&0xff!= buf[4]:
    raise Exception("checksum error")

def dht11_humidity():
  return buf[0]

def dht11_temperature():
  return buf[2]

def dht22_humidity():
  return (buf[0]<<8 | buf[1])*0.1

def dht22_temperature():
  t = ((buf[2] & 0x7f) << 8 |buf[3])*0.1
  if buf[2] & 0x80:
    t = -t
  return t

try:
  while True:
    measure(Pin(2))
    print("dht11 humidity:", dht11_humidity())
    print("dht11 temperature:", dht11_temperature())
   # print("dht22 humidity:", dht22.humidity())
   # print("dht22 temperature:", dht22.temperature())
    time.sleep(0.5)

except:
  print("Abnormal program!")

运行结果:

dht11 humidity:18
dht11 temperature:24
dht11 humidity:18
dht11 temperature:24
dht11 humidity:18
dht11 temperature:24
……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail