使用 MicroPython,仅用 8 行代码,我们就可以实现 LED 闪烁程序。
Thonny 是 一个面向初学者的 Python IDE 环境,自带 Python,相对简单,比较容易上手。对于树莓派 Pico 开发,建议使用 v3.3.3版本。
Windows 下开发,可以直接下载 thonny-3.3.3.exe ,并安装:
安装后,可以看到,该版本绑定 Python 3.7.9,整个 IDE 看起来相当简洁。左上边是程序代码窗口,左下边是执行显示窗口,右上边的变量窗口显示当前的变量,右下方的助手窗口显示对程序代码的简单分析与建议。
不同的板卡由于硬件不尽相同,需要下载对应硬件的 MicroPython 固件。
如果是自己开发的与众不同的硬件板卡,可以从 MicroPython 程序源代码开始,自己编译固件;对于一些常见的开发板,如:ST 的 Discovery F4 和 ,Nucleo F411RE,可以找到相应的硬件,直接下载编译好的固件文件。
对于树莓派 Pico,目前最新固件版本是: v1.19.1 (2022-06-18) .uf2
下载这个 uf2 文件;按住树莓派 Pico 的 BOOTSEL 按钮,将树莓派 Pico 通过 USB 线缆连接到开发电脑,然后松开 BOOTSEL 按钮,会看到树莓派 Pico 以 U 盘 的形式出现;这时将下载的 uf2 文件用鼠标拖拽到这个 U 盘并放下,固件就会烧录到树莓派 Pico;烧录完成后,U 盘会消失,电脑设备里会出现一个串口设备。
注意要连好 USB 连接线,查看正确的 COM 端口,并在 Thonny 里设置正确的解释器和端口。
树莓派 Pico 第一个程序,当然是点个灯。在 Thonny 里 敲入如下代码,保存为:LED_blink.py,
import machine
import utime
led_onboard = machine.Pin(25, machine.Pin.OUT)
while True:
led_onboard.value(1)
utime.sleep(0.5)
led_onboard.value(0)
utime.sleep(0.5)
运行这段 Python 代码,就看到 Pico 板子上的 LED 开始闪烁,说明一切 OK。
Shell 里,可以查看简单的帮助。
树莓派 Pico,上电后会自动执行名为 main.py 的程序。只要将 LED_blink.py 的名字改为:main.py,并保存到树莓派 Pico 上,就可以达到脱机上电自动执行的目的。
MicroPython 是由 C99 语言编写,遵从 MIT 协议,目前已经支持了好多处理器构架,包括:x86, x86-64, ARM, ARM Thumb, Xtensa。像常见的硬件,esp32, esp8266, nrf, rp2, samd, stm32 等都有相应的支持,有 100 多种板卡的固件可以直接下载。
使用 MicroPython,仅用 8 行代码,我们就可以实现 LED 闪烁程序,是不是信心大增?
初学者可以借助已有的板卡固件和相应的库的支持,像写普通 Python 程序那样,快速学习对硬件进行编程,不必过早过于陷入复杂的硬件操作而举步不前;当我们对 GPIO、I2C、PWM、UART、Timer 等硬件驾轻就熟之后,有兴趣研究背后硬件和 C 语言的具体实现,就容易理解了。
人生苦短,我学 Python。
老徐,2022/10/29