microPython-8266 学习笔记 LED(一)

microPython-8266 LED(一)

利用延迟亮灭led灯

from machine import Pin
import time 
led=Pin(2,Pin.OUT)
while True:
    led.value(1)
    time.sleep(1)
    led.value(0)
    time.sleep(1)

利用定时器亮灭led灯

from machine import Timer
from machine import Pin

led=Pin(2,Pin.OUT)
count = 10 #亮灭5次
# t 为定时器对象,可进行关闭
def ledBright(t):
    ledV = bool(1-led.value()); #取反
    led.value(ledV)
    global count
    count = count-1
    if count == 0
        t.deinit()
    
tim = Timer(-1) #系统自选端口
# 500 毫秒 执行一次
tim.init(period=500, mode=Timer.PERIODIC, callback=ledBright)

Timer说明

构造函数

class machine.Timer(id, …)

方法

Timer.deinit()

停止定时器,禁止所有通道和相关中断。

Timer.init(period, mode, callback)

设置定时器参数

  • period,定时器间隔时间(ms)
  • mode,定时器模式
    • Timer.ONE_SHOT,一次性
    • Timer.PERIODIC,周期
  • callback,回调函数 (有一个参数,参数为定时器对象)

遇到问题

  1. 调试时,发现如果定时器未调用**deinit()**重复调试后不会关闭之前的定时器。每次调试都会再开启一次定时器。此时,你只能重启。
  2. 文件无法下载,请在boot中引入os
    microPython-8266 学习笔记 LED(一)_第1张图片

你可能感兴趣的:(microPython)