Explorar o código

[update] micropython docs

SummerGift %!s(int64=6) %!d(string=hai) anos
pai
achega
88022c2ca6

BIN=BIN
docs/assets/08_direct_run_files.gif


BIN=BIN
docs/assets/IoT_Board.png


+ 0 - 0
docs/figures/add_main_stack.png → docs/assets/add_main_stack.png


+ 0 - 0
docs/figures/check_memory.png → docs/assets/check_memory.png


BIN=BIN
docs/assets/check_pandora_examples.png


+ 0 - 0
docs/figures/config_runtime.png → docs/assets/config_runtime.png


+ 0 - 0
docs/figures/mount_fs.png → docs/assets/mount_fs.png


+ 0 - 0
docs/figures/select_mpy_package.png → docs/assets/select_mpy_package.png


BIN=BIN
docs/figures/IoT_Board.png


+ 16 - 5
docs/firmware-develop.md

@@ -2,19 +2,30 @@
 
 
 如果手上没有官方支持固件的开发板,就需要自己来动手制作 MicroPython 固件了。由于 RT-Thread 官方提供了 MicroPython 软件包,并且 MicroPython 底层和硬件绑定时对接了 RT-Thread 驱动框架,所以我们可以很方便地在运行了 RT-Thread 的板卡上将  MicroPython 跑起来。
 如果手上没有官方支持固件的开发板,就需要自己来动手制作 MicroPython 固件了。由于 RT-Thread 官方提供了 MicroPython 软件包,并且 MicroPython 底层和硬件绑定时对接了 RT-Thread 驱动框架,所以我们可以很方便地在运行了 RT-Thread 的板卡上将  MicroPython 跑起来。
 
 
+**注意**:RT-Thread MicroPython 需要运行在 **RT-Thread 3.0** 版本以上。
+
+### 选择合适的 BSP 平台
+
+RT-Thread MicroPython mini 版本占用资源最大不超过:
+
+- ROM : 190KB
+- RAM :  20KB
+
+只要系统资源满足上述要求,常见的许多开发板都可以运行 MicroPython,例如 STM32 系列 BSP。
+
 接下来我们以 `rt-thread\bsp\stm32\stm32f407-atk-explorer` 上的 MDK 工程为例,讲解如何在 BSP 的基础上制作 MicroPython 固件。
 接下来我们以 `rt-thread\bsp\stm32\stm32f407-atk-explorer` 上的 MDK 工程为例,讲解如何在 BSP 的基础上制作 MicroPython 固件。
 
 
 ### 获取 MicroPython 软件包
 ### 获取 MicroPython 软件包
 
 
 先使用 `pkgs --upgrade` 命令更新软件包列表,然后通过 env 工具选中 MicroPython 软件包,最后使用 `pkgs -update` 命令将软件包拉取到本地。
 先使用 `pkgs --upgrade` 命令更新软件包列表,然后通过 env 工具选中 MicroPython 软件包,最后使用 `pkgs -update` 命令将软件包拉取到本地。
 
 
-![select_mpy_package](figures/select_mpy_package.png)
+![select_mpy_package](assets/select_mpy_package.png)
 
 
 ### 增大 main 线程栈
 ### 增大 main 线程栈
 
 
 为了能后续在 main 线程中启动 MicroPython 运行时环境,需要增大 main 线程的栈大小,这里我们将栈大小增加到 8k。
 为了能后续在 main 线程中启动 MicroPython 运行时环境,需要增大 main 线程的栈大小,这里我们将栈大小增加到 8k。
 
 
-![add_main_stack](figures/add_main_stack.png)
+![add_main_stack](assets/add_main_stack.png)
 
 
 ### 配置 MicroPython 运行环境堆大小
 ### 配置 MicroPython 运行环境堆大小
 
 
@@ -24,19 +35,19 @@
 
 
 重新生成工程,编译下载后通过 `msh` 的 `free` 命令来查看内存使用情况。
 重新生成工程,编译下载后通过 `msh` 的 `free` 命令来查看内存使用情况。
 
 
-![check_memory](figures/check_memory.png)
+![check_memory](assets/check_memory.png)
 
 
 #### 配置系统
 #### 配置系统
 
 
 通过上一步查询的内存分配情况,对系统 RAM 资源有了一定的了解。在本次示例中,我们分配 20k 内存用于 MicroPython 运行时环境。后续如果想要运行更多 MicroPython 代码,可以将更多空余内存分配给 MicroPython 运行时环境,配置如下图所示:
 通过上一步查询的内存分配情况,对系统 RAM 资源有了一定的了解。在本次示例中,我们分配 20k 内存用于 MicroPython 运行时环境。后续如果想要运行更多 MicroPython 代码,可以将更多空余内存分配给 MicroPython 运行时环境,配置如下图所示:
 
 
-![config_runtime](figures/config_runtime.png)
+![config_runtime](assets/config_runtime.png)
 
 
 ### 在根目录挂载文件系统
 ### 在根目录挂载文件系统
 
 
 最后要确保系统中 `/` 目录挂载了文件系统。有了文件系统,后续才能使用 [**MicroPython 开发环境**](https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython) 将 Python 代码文件同步到板卡中来运行,本次示例中将使用 elm-fat 文件系统,需要对系统进行如下配置:
 最后要确保系统中 `/` 目录挂载了文件系统。有了文件系统,后续才能使用 [**MicroPython 开发环境**](https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython) 将 Python 代码文件同步到板卡中来运行,本次示例中将使用 elm-fat 文件系统,需要对系统进行如下配置:
 
 
-![mount_fs](figures/mount_fs.png)
+![mount_fs](assets/mount_fs.png)
 
 
 配置完成后,记得要使用 `scons --target=mkd5` 重新生成工程,使配置在工程中生效。
 配置完成后,记得要使用 `scons --target=mkd5` 重新生成工程,使配置在工程中生效。
 
 

+ 24 - 0
docs/micropython-ide.md

@@ -0,0 +1,24 @@
+# MicroPython IDE
+
+RT-Thread 为广大开发者提供了 VSCode 最好用的 MicroPython 插件 来帮助大家使用 MicroPython 来开发应用程序。该插件为 MicroPython 开发提供了功能强大的开发环境,主要特性如下:
+
+- 便捷的开发板连接方式(串口、网络、USB)
+- 支持基于 MicroPython 的代码智能补全与语法检查
+- 支持 MicroPython REPL 交互环境
+- 提供丰富的代码示例与 demo 程序
+- 提供工程同步功能
+- 支持下载单个文件或文件夹至开发板
+- 支持在内存中快速运行代码文件功能
+- 支持运行代码片段功能
+- 支持多款主流 MicroPython 开发板
+- 支持 windows 及 ubuntu 操作系统
+
+### 安装 IDE 开发环境
+
+开发者可以通过 RT-Thread MicroPython IDE 来快速开发 MicroPython 应用,下图展示了 IDE 的快速调试功能:
+
+![08_direct_run_files](assets/08_direct_run_files.gif)
+
+可通过查看如下文档进一步了解并使用 RT-Thread MicroPython IDE:
+
+- [RT-Thread MicroPython develop environment](https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython)

+ 1 - 1
docs/micropython-librarys.md

@@ -25,7 +25,7 @@
 - [`uzlib`](std-librarys/uzlib.md) – zlib 解压
 - [`uzlib`](std-librarys/uzlib.md) – zlib 解压
 - [`_thread`](std-librarys/_thread.md) – 多线程支持
 - [`_thread`](std-librarys/_thread.md) – 多线程支持
 
 
-### RT-Thread MicroPython 特定库
+### MicroPython 特定库
 
 
 在 RT-Thread 移植的 MicroPython 版本中,实现了如下特定功能库:
 在 RT-Thread 移植的 MicroPython 版本中,实现了如下特定功能库:
 
 

+ 30 - 28
docs/micropython_for_pandora_iot_board.md

@@ -1,11 +1,37 @@
 # MicroPython for Pandora IoT Board
 # MicroPython for Pandora IoT Board
 
 
-![IoT_Board](figures/IoT_Board.png)
+![IoT_Board](assets/IoT_Board.png)
 
 
-**IoT Board 潘多拉** 是 RT-Thread 推出的一款物联网开发板,它给开发者带来了物联网时代的无限可能。而现在,它已经不仅仅是一块简单的物联网开发板,因为它已经全面支持 **MicroPython** 。在 IoT Board 上,你将会体验到有别于传统的,前所未有的开发方式。
+[**IoT Board 潘多拉**](https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18400369818.12.2ba47ea5PzJxZx&id=583843059625) 是 RT-Thread 推出的一款物联网开发板,它给开发者带来了物联网时代的无限可能。而现在,它已经不仅仅是一块简单的物联网开发板,因为它已经全面支持 **MicroPython** 。在 IoT Board 上,你将会体验到有别于传统的,前所未有的开发方式。
 
 
 借助于 MicroPython,你将有能力使用 Python 语言控制所有硬件外设,体验高级语言带来的便利特性,与此同时你还可以利用高级软件库快速实现你的 IoT 构想。
 借助于 MicroPython,你将有能力使用 Python 语言控制所有硬件外设,体验高级语言带来的便利特性,与此同时你还可以利用高级软件库快速实现你的 IoT 构想。
 
 
+## 硬件支持
+
+Pandora MicroPython 固件硬件功能如下所示:
+
+| 外设名称 | 引脚号                                         | 简介                                      |
+| -------- | ---------------------------------------------- | ----------------------------------------- |
+| pin      | PA4 PA8, PB8-9 PB10-15, PC2 PC4 PC6-7, PD12-15 | 开发板引出的可自由分配的 IO,支持引脚中断 |
+| led      | PE7                                            | 红色 led 灯                               |
+| rgb      | R: PE7, G: PE8, B: PE9                         | rgb 灯                                    |
+| key      | KEY0: PD10, KEY1: PD9, KEY2: PD8               | 输入按键                                  |
+| uart1    | PA9, PA10                                      | 串口1                                     |
+| i2c      |                                                | 软件 i2c 可选择任意 pin                   |
+| spi      |                                                | 软件 spi 可选择任意引出 pin               |
+| adc      | PC4                                            | adc1,通道 13                             |
+| pwm      | PB0                                            | pwm3,  通道 3,  用于红外发射              |
+| timer    |                                                | 硬件定时器 15                             |
+| wdt      |                                                | 看门狗                                    |
+| rtc      |                                                | 实时时钟                                  |
+| beeper   | PB2                                            | 蜂鸣器                                    |
+| lcd      |                                                | lcd 显示屏                                |
+| wifi     |                                                | wifi 网络连接                             |
+| aht10    | CLK: PD6, SDA: PC1                             | 温湿度传感器                              |
+| ap3216c  | CLK: PC0, SDA: PC1                             | 接近与光强传感器                          |
+| icm20608 | CLK: PC0, SDA: PC1                             | 六轴传感器                                |
+
+
 ## 入门必读
 ## 入门必读
 
 
 如果您从来没有了解过 MicroPython, 可以阅读这篇简短的文章来 [带你入门 MicroPython](introduction.md)。
 如果您从来没有了解过 MicroPython, 可以阅读这篇简短的文章来 [带你入门 MicroPython](introduction.md)。
@@ -33,42 +59,18 @@
 
 
 以下示例程序可以在 RT-Thread MicroPython IDE 开发环境中直接添加到工程:
 以下示例程序可以在 RT-Thread MicroPython IDE 开发环境中直接添加到工程:
 
 
-- [Pandora IoT Board  MicroPython examples](https://github.com/RT-Thread/mpy-snippets/tree/master/examples/03.board/1.stm32l4_pandora)
+![check_pandora_examples](assets/check_pandora_examples.png)
 
 
 ### MicroPython 模块详解
 ### MicroPython 模块详解
 
 
 - [MicroPython Librarys](micropython-librarys.md)
 - [MicroPython Librarys](micropython-librarys.md)
 
 
-### 硬件功能
-
-Pandora MicroPython 固件硬件功能如下所示:
-
-| 外设名称 | 引脚号                                         | 简介                                      |
-| -------- | ---------------------------------------------- | ----------------------------------------- |
-| pin      | PA4 PA8, PB8-9 PB10-15, PC2 PC4 PC6-7, PD12-15 | 开发板引出的可自由分配的 IO,支持引脚中断 |
-| led      | PE7                                            | 红色 led 灯                               |
-| rgb      | R: PE7, G: PE8, B: PE9                         | rgb 灯                                    |
-| key      | KEY0: PD10, KEY1: PD9, KEY2: PD8               | 输入按键                                  |
-| uart1    | PA9, PA10                                      | 串口1                                     |
-| i2c      |                                                | 软件 i2c 可选择任意 pin                   |
-| spi      |                                                | 软件 spi 可选择任意引出 pin               |
-| adc      | PC4                                            | adc1,通道 13                             |
-| pwm      | PB0                                            | pwm3,  通道 3,  用于红外发射              |
-| timer    |                                                | 硬件定时器 15                             |
-| wdt      |                                                | 看门狗                                    |
-| rtc      |                                                | 实时时钟                                  |
-| beeper   | PB2                                            | 蜂鸣器                                    |
-| lcd      |                                                | lcd 显示屏                                |
-| wifi     |                                                | wifi 网络连接                             |
-| aht10    | CLK: PD6, SDA: PC1                             | 温湿度传感器                              |
-| ap3216c  | CLK: PC0, SDA: PC1                             | 接近与光强传感器                          |
-| icm20608 | CLK: PC0, SDA: PC1                             | 六轴传感器                                |
 
 
 ## 联系我们
 ## 联系我们
 
 
 如果在使用的过程中遇到问题,您可以用如下方式联系我们:
 如果在使用的过程中遇到问题,您可以用如下方式联系我们:
 
 
 - 在 github 上提交 issue
 - 在 github 上提交 issue
-- [RT-Thread MicroPython 官方论坛](https://www.rt-thread.org/qa/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=20) 发帖
+- [RT-Thread MicroPython 官方论坛](https://www.rt-thread.org/qa/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=20)
 
 
 - RT-Thread MicroPython 交流 QQ 群:703840633
 - RT-Thread MicroPython 交流 QQ 群:703840633

+ 1 - 1
docs/spec-librarys/machine/PWM.md

@@ -45,7 +45,7 @@
 
 
 ``` python
 ``` python
 >>> from machine import PWM     # 从 machine 导入 PWM 类
 >>> from machine import PWM     # 从 machine 导入 PWM 类
->>> pwm = PWM(3, 3, 1000, 100)  # 创建 PWM 对象,当前使用编号为 1 的 PWM 设备的 4 通道,初始化的频率为 1000Hz,占空比数值为 100(占空比为 100/255 = 39.22%)
+>>> pwm = PWM(3, 3, 1000, 100)  # 创建 PWM 对象,当前使用编号为 3 的 PWM 设备的 3 通道,初始化的频率为 1000Hz,占空比数值为 100(占空比为 100/255 = 39.22%)
 >>> pwm.freq(2000)              # 设置 PWM 对象频率
 >>> pwm.freq(2000)              # 设置 PWM 对象频率
 >>> pwm.freq()                  # 获取 PWM 对象频率
 >>> pwm.freq()                  # 获取 PWM 对象频率
 2000
 2000

+ 1 - 1
docs/spec-librarys/machine/SPI.md

@@ -3,7 +3,7 @@
 **machine.SPI** 类是 machine 模块下面的一个硬件类,用于对 SPI 的配置和控制,提供对 SPI 设备的操作方法。
 **machine.SPI** 类是 machine 模块下面的一个硬件类,用于对 SPI 的配置和控制,提供对 SPI 设备的操作方法。
 
 
 - `SPI` 是一个由主机驱动的同步串行协议。在物理层,总线有三根:`SCK`、`MOSI`、`MISO`。多个设备可以共享同一总线,每个设备都由一个单独的信号 `SS` 来选中,也称片选信号。
 - `SPI` 是一个由主机驱动的同步串行协议。在物理层,总线有三根:`SCK`、`MOSI`、`MISO`。多个设备可以共享同一总线,每个设备都由一个单独的信号 `SS` 来选中,也称片选信号。
-- 主机通过片选信号选定一个设备进行通信。`SS` 信号的管理应该由用户代码负责。(通过 [machine.Pin](02-machine-Pin.md))
+- 主机通过片选信号选定一个设备进行通信。`SS` 信号的管理应该由用户代码负责。(通过 [machine.Pin](Pin.md))
 
 
 ### 构造函数
 ### 构造函数