pyRTOS的一个小demo

Adafruit CircuitPython相关
MicroPython重要分支
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

pyRTOS的一个小demo

#1

帖子 shaoziyang »

这几天抽空学校了一下pyRTOS,用Circuit Playground开发板。创建了三个任务,task1每秒翻转一次LED,task2每0.5秒随机改变WS2812,task3打印当前环境光强。



import gc
import pyRTOS
gc.collect()
from adafruit_circuitplayground import cp
gc.collect()
from random import randrange as rand

def task1(self):

    yield

    while 1:
        cp.red_led = not cp.red_led
        yield [pyRTOS.timeout(1)]

def task2(self):

    yield

    while 1:
        cp.pixels[rand(10)] = rand(10), rand(10), rand(10)
        yield [pyRTOS.timeout(0.5)]

def task3(self):

    yield

    while 1:
        print(cp.light)
        yield [pyRTOS.timeout(2)]

pyRTOS.add_task(pyRTOS.Task(task1, name="task1"))
pyRTOS.add_task(pyRTOS.Task(task2, name="task2"))
pyRTOS.add_task(pyRTOS.Task(task3, name="task3"))

pyRTOS.start()

 

头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

Re: pyRTOS的一个小demo

#2

帖子 shaoziyang »

总的来说,pyRTOS的功能和用法类似python的异步(circuitpython还未提供异步功能)

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章