ESP32 MicroPython教程:向线程函数传递参数
2019-03-201.3万
AI 快速预览详细
本篇教程介绍了如何在MicroPython中向线程函数传递参数。首先导入_thread模块,然后定义一个接收描述字符串和计数器参数的线程函数。线程函数中通过循环打印每次迭代的消息。最后,使用start_new_thread函数启动线程,并传递包含参数的元组。通过这种方式,可以轻松实现多线程编程中的参数传递。
|
简介 本篇教程的目的主要是说明在MicroPython中如何向线程函数传递参数。有关创建线程的介绍请参见此篇先前的帖子:ESP32 MicroPython教程:创建线程 。 代码 本教程代码与上一篇有关MicroPython线程的帖子非常相似。首先需要导入_thread模块(https://docs.pycom.io/chapter/firmwareapi/micropython/_thread.html),以提供与线程相关的功能。 然后,我们将声明thread函数。在本例中,我们将指定其接收两个输入参数,第一个参数是线程函数描述,第二个参数是一个计数器。 这个线程函数的逻辑非常简单。我们将先打印出线程描述参数,然后通过循环每次打印一条消息。循环的迭代次数等于线程函数的第二个参数(计数器值)。 在前篇帖子中介绍过,当函数返回时,线程就会退出。 最后,我们将调用_thread模块(https://www.programiz.com/python-programming/tuple)的start_new_thread函数,以启动线程。第一个参数接收的是我们之前定义的线程函数,第二个参数则是一个包含函数参数的元组。 因此,根据定义,元组的第一个元素是一个描述字符串,第二个元素则是一个计数器。本例中,我们将计数器设为5,表示循环共有5次迭代,但是您也可以使用不同的数值。 完整的源代码如下所示。 测试代码 将代码上传到ESP32并运行即可对代码进行测试。代码执行之后,您将在MicroPhthon控制台上看到类似图1的输出结果,其中包括线程描述字符串以及循环每次迭代的输出。正如预料,线程函数执行了5次循环迭代,每次迭代打印一条消息。 ![]() 图1 - 脚本代码输出结果。 注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。 他写了很多有关ESP32、ESP8266的有用的教程和项目。 查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程汇总贴 |
相关帖子
- . FireBeetle 2 ESP32-C5基于ESPNOW的无线通信
- . 基于FireBeetle 2 ESP32-C5的家庭环境检测系统
- . FireBeetle 2 ESP32-C5基于AD Key按键的打地鼠游戏
- . 基于ESP32-C5开发板的驱动OLED显示屏之井字棋小游戏
- . 基于ESP32-C5开发板驱动OLED井字棋小游戏
- . 基于FireBeetle 2 ESP32-C5的游戏搭子
- . 基于 Firebeetle 2 ESP32-C5 的6通道2.4G 遥控器
- . FireBeetle 2 ESP32 P4套装开箱和双OLED屏驱动
- . 行空板K10 刷机为micropython 展示图片
- . esp32自动烧录失败,手动下载正常






