这节简单的介绍一下:
MicroPython REPL位于UART0(GPIO1 = TX,GPIO3 = RX)上,波特率为115200。制表符补全有助于找出对象具有哪些方法。粘贴模式(Ctrl-E)可用于将大量Python代码粘贴到REPL中。
import machine
machine.freq() # 获取CPU频率
machine.freq(160000000) # 设置160 MHz
import network
wlan=network.WLAN (network.STA_IF ) #创建站接口
WLAN .active (True ) #激活接口
wlan .scan () #扫描访问点
wlan .isconnected () #检查工作站是否连接到AP
wlan .connect ('essid' , 'password' ) #连接到AP
wlan .config ('mac' ) #获取接口的MAC地址
wlan .ifconfig () #获取接口的IP /网络掩码/ gw / DNS地址
ap = network.WLAN (网络。AP_IF ) #创建接入点界面
AP.active (True ) #激活接口
ap.config(essid = 'ESP-AP') #设置接入点的ESSID(就是热点名字)
ESP-yunswj就是热点
输入 help():
欢迎使用MicroPython!
有关在线文档,请访问
http:// docs.micropython.org/en/latest/esp8266/。
要使诊断信息包含在错误报告中,请执行“
import port_diag
”。
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.scan() # Scan for available access points
sta_if.connect("", "") # Connect to an AP
sta_if.isconnected() # Check for successful connection
# 更改ESP8266 AP的名称/密码:
ap_if = network.WLAN(network.AP_IF)
ap_if.config(essid="", authmode=network.AUTH_WPA_WPA2_PSK,
password="")
控制命令:
CTRL-A-在空白行上,进入原始REPL模式
CTRL-B-在空白行上,进入常规REPL模式
CTRL-C-中断正在运行的程序
CTRL-D-在空白行上,对电路板进行软复位
CTRL-E-在空白行上进入粘贴模式
有关特定对象的更多帮助,请键入
help(obj)
延时于时间:
import time
time.sleep(1) # 休眠一秒
time.sleep_ms(500) # 休眠 500 milliseconds
time.sleep_us(10) # sleep for 10 microseconds
start = time.ticks_ms() ##获取毫秒计数器
delta = time.ticks_diff(time.ticks_ms(), start) # 计算书简差
这些东西,是让你在写程序的时候写进去的,命令行输入的话,效果不是太大
from machine import Pin
p0 = Pin(0, Pin.OUT) # create output pin on GPIO0
p0.on() # set pin to "on" (high) level
p0.off() # set pin to "off" (low) level
p0.value(1) # set pin to on/high
p2 = Pin(2, Pin.IN) # create input pin on GPIO2
print(p2.value()) # get value, 0 or 1
p4 = Pin(4, Pin.IN, Pin.PULL_UP) # 使能内部上拉电阻
p5 = Pin(5, Pin.OUT, value=1) # set pin high on creation
可用的引脚为:0、1、2、3、4、5、12、13、14、15、16(11个),它们对应于ESP8266芯片的实际GPIO引脚编号。请注意,许多最终用户板使用自己的临时引脚编号(例如,标记为D0,D1等,自己来取名的)。由于MicroPython支持不同的板卡和模块,因此选择了物理引脚编号作为最低的公分母。有关板逻辑引脚和物理芯片引脚之间的映射,请看我昨天发的映射图.
请注意,引脚(1)和引脚(3)分别是REPL UART TX和RX。另请注意,Pin(16)是一个特殊的引脚(用于从深度睡眠模式唤醒).
可以在引脚(16)以外的所有引脚上使能PWM。
所有通道都有一个频率,范围在1到1000之间(以Hz为单位)。
占空比在0到1023之间(包含端点值)。
machine.pwm
from machine import Pin, PWM
pwm0 = PWM(Pin(0)) # create PWM object from a pin
pwm0.freq() # 现在频率
pwm0.freq(1000) # 设置频率
pwm0.duty() # 获取当前占空比
pwm0.duty(200) # 设置占空比
pwm0.deinit() # 关闭引脚上的PWM
pwm2 = PWM(Pin(2), freq=500, duty=512) # #一次性创建和配置,写法上的便利,不需要一次配置一个
ADC在专用引脚上可用。请注意,ADC引脚上的输入电压必须在0v至1.0v之间。
使用machine.ADC类:
from machine import ADC
adc = ADC(0) # create ADC object on ADC pin
adc.read() # read value, 0-1024(10bit的精度)
有两个SPI驱动程序。一种是通过软件实现的(位敲打)并在所有引脚上工作,并且可以通过机器访问.SPI 类:
from machine import Pin, SPI
# construct an SPI bus on the given pins
# polarity is the idle state of SCK
# phase=0 means sample on the first edge of SCK, phase=1 means the second
# 构造给定的销SPI总线
# 极性是SCK的空闲状态
# 相位= 0表示样品在SCK的第一边缘,相位= 1个装置中的第二
spi = SPI(-1, baudrate=100000, polarity=1, phase=0, sck=Pin(0), mosi=Pin(2), miso=Pin(4))
spi.init(baudrate=200000) #设置波特率
spi.read(10) # read 10 bytes on MISO
spi.read(10, 0xff) # read 10 bytes while outputing 0xff on MOSI
buf = bytearray(50) # create a buffer
spi.readinto(buf) #读入给定的缓冲区(在这种情况下,读取50个字节)
spi.readinto(buf, 0xff) #读入给定的缓冲区,并在MOSI上输出0xff
spi.write(b'12345') # write 5 bytes on MOSI
buf = bytearray(4) # create a buffer
spi.write_readinto(b'1234', buf) # write to MOSI and read from MISO into the buffer
spi.write_readinto(buf, buf) # write buf to MOSI and read MISO back into buf
硬件SPI速度更快(最高80Mhz),但仅适用于以下引脚: MISO
GPIO12,MOSI
GPIO13和SCK
GPIO14。它具有与上面的bangbanging SPI类相同的方法,但构造函数和init的pin参数(固定的)是:
from machine import Pin, SPI
hspi = SPI(1, baudrate=80000000, polarity=0, phase=0)
(SPI(0)
用于FlashROM,对用户不可用,别用了。)
I2C驱动程序是通过软件实现的,并且可以在所有引脚上工作,并且可以通过machine.IC(class):
from machine import Pin, I2C
# construct(构造) an I2C bus
i2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000)
i2c.readfrom(0x3a, 4) #从地址为0x3a i2c的从设备读取4个字节
i2c.writeto(0x3a, '12') #将'12'写入地址为0x3a的从设备
buf = bytearray(10) #创建一个具有10个字节
i2c.writeto(0x3a, buf) #将给定的缓冲区写入从属设备
全部0条评论
快来发表一下你的评论吧 !