ESP32支持线程功能,可以利用线程实现多任务。ESP32上线程的用法和pyboard上差不多,都是通过_thread模块。下面演示了线程的基本用法,程序定义了三个线程,一个线程控制LED,另外两个线程打印信息。
- import _thread
- from machine import Pin
- import time
- LED = Pin(2, Pin.OUT)
- def led(dt):
- while 1:
- LED.value(not LED.value())
- time.sleep_ms(dt)
- def task(id, dt):
- cnt = 0
- while 1:
- cnt = cnt+1
- print('task%d-%d\n'%(id, cnt))
- time.sleep_ms(dt)
- _thread.start_new_thread(led, (500,))
- _thread.start_new_thread(task, (1, 500))
- _thread.start_new_thread(task, (2, 1500))
复制代码
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处