使用micropython开发STM32
2025-11-05 来源:bilibili
一、前言
MicroPython(官网:https://micropython.org),是Python3编程语言的一个完整软件实现,用C语言编写,被优化于运行在微控制器之上。MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。(摘抄自weact微行工作室)。
用我的理解简单来说,就是使用C语言往单片机里写了一个Python的解释器,再将MicroPython程序脚本保存到单片机(或外部存储器)内,然后由内部的解释器运行脚本代码。优点就是接触较少底层即可快速开发(人生苦短,我用Python(「・ω・)「)。缺点也显而易见,时间空间效率都很低,底层处理麻烦,难以胜任多外设高要求的工作,以及需要大量存储空间,很多常见小容量单片机不太适宜使用MicroPython。
二、硬件准备
本文使用2022年盟升杯电子设计竞赛期间低年级组提供的STM32F401CDU6核心板如下图所示。其他型号如STM32F401CEU6、STM32F411CEU6等也可。也比较建议支持原创weact工作室。

科协提供的STM32F401CDU6核心板
三、软件准备
STM32CubeProgrammer:
给STM32核心板烧写固件时需要使用,官网链接:https://www.st.com/zh/development-tools/stm32cubeprog.html,直接下载安装即可。

STM32CubeProgrammer界面
Thonny:
Thonny 是一个面向初学者的 Python IDE,官网链接:https://thonny.org,提供了对MicroPython的支持,可以实现REPL,代码提示,代码上传下载,重启开发板等功能。本文使用Thonny作为开发软件。同样的,直接官网下载安装即可。

Thonny页面
四、开发资料准备
这里图方便就直接使用weact工作室提供的资料了。gitee仓库链接:https://gitee.com/WeAct-TC/MiniSTM32F4x1。资料下载解压后如图所示,包含芯片数据手册、使用教程、硬件、图片、软件、工具等。

weact资料根目录
五、烧写MicroPython固件
按住BOOT0按键用USB线连接电脑和核心板,使STM32进入ISP模式,STM32CubeProgrammer中选择USB下载,检测到USB口后点击connect连接单片机。

STM32CubeProgrammer连接单片机
在烧录页面点击Browse浏览找到需要使用的固件,这里使用firmware_internal_rom_stm32f401ce_v30+_v1.14-7.hex,路径MiniSTM32F4x1SDKSTM32F401CEU6MicroPythonfirmwares-v1.14。

选择固件
连接上单片机,选择好固件后,点击Start Programmer即可开始烧录。

开始烧录
烧录完成后会提示,点击确定,Disconnect,拔掉单片机即可。

烧录固件完成
六、编写MicroPython代码
再次直接插上核心板,电脑会检测到一个U盘设备如下图,在文件管理器中也会发现多了个U盘。

检测设备

文件管理器
我们开始编程,先闪个灯,这里直接给代码,API手册等等资料可以看WEACT的资料以及MicroPython官方wiki。
# main.py -- put your code here!
from machine import Pin
import time
led = Pin("PC13", Pin.OUT)
while 1:
led.high()
time.sleep(1)
led.low()
time.sleep(1)
第一种方法:直接打开main.py编写代码,保存后重新上电即可运行。脚本保存到单片机需要时间,期间板载LED会亮起,请勿进行其他操作,LED熄灭后即可重新上电或按下RST复位,即可运行脚本。

直接编写
第二种方法:使用Thonny。打开Thonny,在右下角选择配置解释器。

打开Thonny
解释器选择MicroPython(通用),端口直接选择检测到的串行设备或者自动检测。选择后点击“好的”。

解释器配置

端口配置
再回到主页面,在右下角选择我们单片机使用的端口,比如我这里是COM12。

选择COM12
选择后会自动终止代码运行并在右侧文件栏加载出单片机U盘文件,若没有则按一下核心板RST复位并点击Thonny上方工具栏的"STOP"按键手动终止运行。

连接成功
打开main.py即可编写代码,完成后保存,点击上方工具栏中"运行"即可运行脚本。同样的,点击"STOP"可以结束运行。

编写代码
动图
运行效果
下一篇:stm32hal库串口BUG
- 怎样让自己的 stm32 开发板支持 micropython
- upyOS:基于 MicroPython 的模块化操作系统,兼容 ESP32、RP2040 等微控制器
- Pycharm使用MicroPython开发ESP32
- (2)用Micropython将ESP32数据上云
- 使用DEEPCRAFT™和MicroPython轻松实现边缘AI
- DIY项目代码编写入门
- ESP32玩转MicroPython(一) 烧入固件, 初识
- ESP32玩转MicroPython(二) 连接WIFI网络 webperl文件传输
- ESP32玩转MicroPython(三) 延时、计时 和GPIO操作
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- 蓝牙信道探测技术原理与开发套件实践
- 意法半导体中国本地造STM32微控制器启动规模量产




