RT-Thread MicroPython 快速上手

开始使用 MicroPython

注意

RT-Thread MicroPython 需要运行在 RT-Thread 3.0 版本以上。

选择合适的 BSP 平台

RT-Thread MicroPython mini 版本占用资源最大不超过:

  • 1、ROM : 190KB
  • 2、RAM : 8KB
    常见的许多开发板都可以运行 MicroPython,如 stm32f10xstm32f40xstm32f429-apolloimxrt1052-evkiot-camera 等。

MicroPython 软件包的安装

  • MicroPython 软件包可以通过 env 工具在线下载获得。在下载 MicroPython 软件包前,建议使用 pkgs —upgrade 命令更新软件包列表,并且在配置版本时勾选 latest 版本,如图:
    elect_micropytho

  • 使用 env 下载 MicroPython 软件包的方法请参考: RT-Thread env 工具使用手册

    选择开发环境

  • 目前 MicroPython 支持三种开发环境,分别为 MDK / IAR / GCC,选择合适的开发环境,使用 env 工具将 MicroPython 软件包开启后,需重新生成工程,再进行编译、下载。

    运行 MicroPython

  • 在 Finsh/MSH 命令行内输入 python 即可进入 MicroPython 的交互命令行 REPL(Read-Evaluate-Print-Loop),可在终端看到如下界面:
    elect_micropytho

使用 Ctrl-D 或输入 quit() 以及 exit() 即可退出 REPL ,回到 RT-Thread Finsh/MSH。

MicroPython 基本功能

Python 语法与内建函数

使用 python 交互命令行

  • MicroPython 是 Python 3 编程语言的一种精简而高效的实现,语法和 Python 3 相同,并带有丰富的内建函数,使用 MicroPython 交互命令行即可运行 Python 代码:
    elect_micropytho

交互命令行的粘贴模式

  • MicroPython 比一般的 python 交互环境多了一个特别的粘贴模式,可以一次粘贴输入多行 python 代码。
  • 在命令行提示符状态下,按下 Ctrl-E 组合键,就会出现提示:paste mode; Ctrl-C to cancel, Ctrl-D to finish 。粘贴需要运行的代码后,按下 Ctlr-D 即可退出粘贴模式,同时输入的代码也会自动执行。
  • 程序正在执行时,如果想取消,可以使用 Ctrl-C。
    输入代码:
  1. for i in range(1,10):
  2. print(i)

执行效果如下:

elect_micropytho

MicroPython 内建模块

  • MicroPython 提供丰富的内建模块用来完成相关的程序功能。同时 RT-Thread 也提供了 rtthread 模块用来返回系统运行相关的信息。
  • 以 rtthread 和 time 模块为例,调用方式如下:
    elect_micropytho

提示

默认下载的 MicroPython 软件包为 mini 版本,为 RT-Thread 推出的最小版本的 MicroPython ,如果想使用更多的 MicroPython 模块,可以在 menuconfig 配置项中打开更多的模块选项。

MicroPython 例程

通过 MicroPython 可以用非常简单的方式来控制开发板的硬件资源,下面用两个例子来说明:

以下例程运行在 i.MX RT1050 开发板上,运行之前需要开启 RT-Thread Pin 设备功能。

闪烁灯

  • i.MX RT1050 开发板中: 第 52 号 pin 为 LED D18,与 phy 复位引脚共用
  1. import time
  2. from machine import Pin
  3.  
  4. LED = Pin(("LED1", 52), Pin.OUT_PP) #将第52号 Pin 设备设置为输出模式
  5. while True:
  6. LED.value(1)
  7. time.sleep_ms(500)
  8. LED.value(0)
  9. time.sleep_ms(500)

针对自己的开发板修改引脚号,将以上脚本使用 3.1.2 章节介绍的粘贴模式输入,即可看到 LED 灯按照指定的频率闪烁。使用 Ctrl-C 可以取消当前正在运行程序。

按键灯

  1. from machine import Pin
  2.  
  3. led = Pin(("LED1", 52), Pin.OUT_PP)
  4. key = Pin(("KEY", 125), Pin.IN, Pin.PULL_UP) #将第125号 Pin 设备设置为上拉输入模式
  5. while True:
  6. if key.value():
  7. led.value(0)
  8. else:
  9. led.value(1)

针对自己的开发板修改引脚号,使用粘贴模式输入以上脚本,即可通过按键 KEY 控制 LED 灯的亮灭。


评论

原文: https://www.rt-thread.org/document/site/submodules/micropython/docs/01-Getting_Started_Guide/