Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
MicroPython
第三篇:RT-Thread Micropython 快速入门
发布于 2018-04-18 15:56:24 浏览:9120
订阅该版
[tocm] * 本帖最后由 Summer_gift 于 2018-4-20 14:42 编辑 * # RT-Thread MicroPython 快速上手 ## 1. 开始使用 MicroPython !!! note "注意" RT-Thread MicroPython 需要运行在 **RT-Thread 3.0** 版本以上。 ### 1.1 选择合适的 BSP 平台 RT-Thread MicroPython mini 版本占用资源最大不超过: - 1、ROM : 190KB - 2、RAM : 8KB 常见的许多开发板都可以运行 MicroPython,如 `stm32f10x` 、`stm32f40x` 、`stm32f429-apollo`、`imxrt1052-evk` 、`iot-camera` 等。 ### 1.2 MicroPython 软件包的安装 - MicroPython 软件包可以通过 env 工具在线下载获得。在下载 MicroPython 软件包前,建议使用 `pkgs --upgrade` 命令更新软件包列表,并且在配置版本时勾选 `latest` 版本,如图: ![select_micropython.png](/uploads/201804/20/143541zcmxeo4z8c9f84oc.png) - 使用 env 下载 MicroPython 软件包的方法请参考: [`RT-Thread env 工具使用手册`](https://www.rt-thread.org/document/site/docs/tools/env/env-user-manual/) ### 1.3 选择开发环境 - 目前 MicroPython 支持三种开发环境,分别为 `MDK / IAR / GCC`,选择合适的开发环境,使用 env 工具将 MicroPython 软件包开启后,需重新生成工程,再进行编译、下载。 ### 1.4 运行 MicroPython - 在 Finsh/MSH 命令行内输入 `python` 即可进入 MicroPython 的交互命令行 REPL(Read-Evaluate-Print-Loop),可在终端看到如下界面: ![run_python.png](/uploads/201804/20/143624ez9ybujisas5isyj.png) 使用 `Ctrl-D` 或输入 `quit()` 以及 `exit()` 即可退出 REPL ,回到 RT-Thread Finsh/MSH。 ## 2. MicroPython 基本功能 ### 2.1 Python 语法与内建函数 #### 2.1.1 使用 python 交互命令行 - MicroPython 是 Python 3 编程语言的一种精简而高效的实现,语法和 Python 3 相同,并带有丰富的内建函数,使用 MicroPython 交互命令行即可运行 Python 代码: ![python_hello.png](/uploads/201804/20/143623jzz9hzp4kpn7kn52.png) #### 2.1.2 交互命令行的粘贴模式 - `MicroPython` 比一般的 python 交互环境多了一个特别的**粘贴模式**,可以一次粘贴输入多行 python 代码。 - 在命令行提示符状态下,按下 `Ctrl-E` 组合键,就会出现提示:`paste mode; Ctrl-C to cancel, Ctrl-D to finish` 。粘贴需要运行的代码后,按下 `Ctlr-D` 即可退出粘贴模式,同时输入的代码也会自动执行。 - 程序正在执行时,如果想取消,可以使用 `Ctrl-C`。 输入代码: ```python for i in range(1,10): print(i) ``` 执行效果如下: ![python_grammer_function.png](/uploads/201804/20/143623vlmsvl5zv5m5bzm8.png) ### 2.2 MicroPython 内建模块 - MicroPython 提供丰富的内建模块用来完成相关的程序功能。同时 RT-Thread 也提供了 `rtthread` 模块用来返回系统运行相关的信息。 - 以 `rtthread` 和 `time` 模块为例,调用方式如下: ![use_buildin_module.png](/uploads/201804/20/143624pg6mbmar3ll5e8gz.png) !!! tip "提示" 默认下载的 MicroPython 软件包为 mini 版本,为 RT-Thread 推出的最小版本的 MicroPython ,如果想使用更多的 MicroPython 模块,可以在 menuconfig 配置项中打开更多的模块选项。 ## 3. MicroPython 例程 通过 MicroPython 可以用非常简单的方式来控制开发板的硬件资源,下面用两个例子来说明: 以下例程运行在 `i.MX RT1050 开发板 `上,运行之前需要开启 RT-Thread `Pin 设备`功能。 ### 3.1 闪烁灯 - i.MX RT1050 开发板中: [第 52 号 pin](https://github.com/RT-Thread/rt-thread/blob/8ed3470d2a485c49ec4f5d4a5ec53e94edf7a2c8/bsp/imxrt1052-evk/drivers/drv_pin.c#L105) 为 LED D18,与 phy 复位引脚共用 ```python import time from machine import Pin LED = Pin(("LED1", 52), Pin.OUT_PP) #将第52号 Pin 设备设置为输出模式 while True: LED.value(1) time.sleep_ms(500) LED.value(0) time.sleep_ms(500) ``` 针对自己的开发板修改引脚号,将以上脚本使用 3.1.2 章节介绍的**粘贴模式**输入,即可看到 LED 灯按照指定的频率闪烁。使用 `Ctrl-C` 可以取消当前正在运行程序。 ### 3.2 按键灯 - i.MX RT1050 开发板中: [第 125 号 pin](https://github.com/RT-Thread/rt-thread/blob/8ed3470d2a485c49ec4f5d4a5ec53e94edf7a2c8/bsp/imxrt1052-evk/drivers/drv_pin.c#L184) 为 SW8 ```python from machine import Pin led = Pin(("LED1", 52), Pin.OUT_PP) key = Pin(("KEY", 125), Pin.IN, Pin.PULL_UP) #将第125号 Pin 设备设置为上拉输入模式 while True: if key.value(): led.value(0) else: led.value(1) ``` 针对自己的开发板修改引脚号,使用**粘贴模式**输入以上脚本,即可通过按键 KEY 控制 LED 灯的亮灭。 ----------
查看更多
0
个回答
默认排序
按发布时间排序
暂无答案,快来添加答案吧
撰写答案
登录
注册新账号
关注者
0
被浏览
9.1k
关于作者
我夏了夏天
Life isn't about finding yourself, life is about creating yourself.
提问
34
回答
1319
被采纳
19
关注TA
发私信
相关问题
1
请问rt-thread有没有移植micropython呢
2
micropython import 文件名的方式执行脚本问题
3
第一篇:Micropython 的起源和发展
4
第二篇:RT-Thread Micropython 简介
5
第四篇:Micropython DIY 项目汇总
6
第五篇:Micropython 教程和资源
7
第六篇: RT-Thread MicroPython 学习经验和学习路线
8
RT-Thread MicroPython 最新开发板固件汇总【已失效】
9
有Mpy专门的板块啦~
10
RT-Thread MicroPython 野火 STM32F103VET6 MINI-V2 开发板固件
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread 全球电子设计大赛】基于vision board 的巡检除冰机器人
2
新手教程-Pin设备使用
3
基于嵌入式的智能关怀系统#24嵌入式设计大赛
4
基于机器视觉识别自动跟踪器
5
[24嵌入式设计大赛]基于Vision-Board的智能应急环境监测控制小车
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
文件系统
DMA
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
ota在线升级
WIZnet_W5500
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
中断
flashDB
socket
Debug
GD32
编译报错
msh
keil_MDK
at_device
MicroPython
rt_mq_消息队列_msg_queue
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
5
个答案
2
次被采纳
用户名由3_15位
6
个答案
1
次被采纳
rv666
6
个答案
1
次被采纳
xiaorui
2
个答案
1
次被采纳
张世争
2
个答案
1
次被采纳
本月文章贡献
jaffer
1
篇文章
5
次点赞
rtt_dmx
1
篇文章
4
次点赞
flytianya2010
1
篇文章
2
次点赞
BRICK PORTER
1
篇文章
2
次点赞
不灬忘初心
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部