单片机
返回首页

使用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"可以结束运行。

编写代码

动图

运行效果

进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 锂离子/锂聚合物USB电池充电器

  • 6晶体管H桥

  • AVR LCD温度计—LM35

  • AVR PC步进电机驱动器

  • AVR温度计TCN75

  • JDM2 PIC 18F 编程器

    相关电子头条文章