【MicroPython】之thread多线程编程问题

windworld   2016-4-11 10:22 楼主
  1. # main.py -- put your code here!

  2. from pyb import Timer
  3. import thread
  4. # LED loop test
  5. def LED_loop_test():
  6.     for i in range(1, 5):
  7.         pyb.LED(i).on()
  8.         pyb.delay(100)
  9.         pyb.LED(i).off()
  10.         pyb.delay(100)
  11. LED_loop_test()

  12. thread.start_new_thread(LED_loop_test)
360截图20160411102117626.jpg


    这里为什么无法使用thread模块?不支持吗


回复评论 (19)

micropyhton中没有找到thread库。
点赞  2016-4-11 10:57
引用: dcexpert 发表于 2016-4-11 10:57
micropyhton中没有找到thread库。

这么说 没有办法多线程编程吗?
点赞  2016-4-11 12:35
引用: windworld 发表于 2016-4-11 12:35
这么说 没有办法多线程编程吗?

目前还不清楚。应该有办法的。
点赞  2016-4-11 12:38
引用: dcexpert 发表于 2016-4-11 12:38
目前还不清楚。应该有办法的。

嗯嗯 看看后面行不行
点赞  2016-4-11 12:45
引用: windworld 发表于 2016-4-11 04:45
嗯嗯 看看后面行不行

可以用中断,毕竟这个MicroPython上没有操作系统
昵称:灰小子
点赞  2016-4-11 16:08

7楼 nmg 

试试@ allankliu,能不能解决
点赞  2016-4-11 16:15
micropython 运行在mcu上,显然没法支持thread,应该是兼容不了原来的python thread库的
点赞  2016-4-15 16:13
引用: ericdai 发表于 2016-4-15 16:13
micropython 运行在mcu上,显然没法支持thread,应该是兼容不了原来的python thread库的

应该是的
点赞  2016-4-15 18:29
那应该能移植ucosii吧,但那就用不着Python了
人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远http://www.xzroad.com/
点赞  2016-4-18 10:38
估计是没有RTOS,所以没有thread
点赞  2016-4-18 21:02
呵呵,micropython != Python3。
点赞  2016-4-20 11:55
@nmg 老大。别这样。我在和大家一起学习。 Python thread就有局限,upython就更加受限制了。但upython unix分支不知道是否有threading。 【更新:查过了,threading是个dummy。但是有multiprocessing, asyncore......】 MCU版本的micropython应用还是推荐使用while循环,加上中断ISR callback。就像我们用在裸机上运行C代码一样的模式。 另外,micropython文档中4.2节标准库中提到了select, poll方法。但都是没有给出例子。 4.2.1 select,等待数据流事件发生 该模块提供函数用于等待数据流事件(选择可以操作的)。 Pyboard specifics(只限于PyBoard) Polling轮询是在多个对象中等待读写操作的有效方式。当前支持的对象有:pyb.UART,pyb.USB_VCP。 函数 select.poll() select.select(rlist,wlist,xlist[,timeout]),该函数效率不高,推荐使用Poll类。 class Poll poll.register(obj[,eventmask]) poll.unregsiter(obj) poll.modify(obj,eventmask) poll.poll([timeout]) 本帖最后由 allankliu 于 2016-4-20 15:44 编辑
点赞  2016-4-20 13:33
引用: allankliu 发表于 2016-4-20 13:33
@nmg 老大。别这样。我在和大家一起学习。

Python thread就有局限,upython就更加受限制了。但upython u ...

Relax,多@你就习惯了
点赞  2016-4-21 10:19
我看官方说micropython是精减过了的,标准的python3的thread会不会依赖于低层的OS接口?
要能支持thread就好了。
点赞  2016-5-14 11:28

_thread 库名

点赞  2019-7-27 18:07
Armink‘s Github & CSDN博客
点赞  2019-7-29 19:41

500块钱的东西,不支持多线程,要你何用,骗吃骗喝md

点赞  2019-8-14 10:33
引用: tanjingui 发表于 2019-8-14 10:33 500块钱的东西,不支持多线程,要你何用,骗吃骗喝md

新固件已经支持thread,你是什么板这么贵

点赞  2019-8-14 10:48

库名前面有一个下划线,这个是真相

补充内容 (2019-12-21 12:59): 对于esp32 lobo移植,内置线程支撑,pyb的线程是单独的固件,标准固件就是不支持的
点赞  2019-12-9 11:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复