【Python + STM32 实现外设控制的从0-1实例教程-适合新手】

news/2025/2/24 19:34:20

一、环境搭建与固件烧录

1. 硬件准备
  • STM32开发板:推荐支持 MicroPython 的型号(如STM32F4 Discovery、NUCLEO-F411RE)。
  • USB转TTL模块:用于串口通信(如CH340、CP2102)。
  • 外设模块:LED、温湿度传感器(如DHT11)等。
2. 软件准备
  • MicroPython固件:从MicroPython官网下载对应开发板的固件(.dfu.hex文件)。
  • 烧录工具
    • STM32CubeProgrammer:用于烧录固件(支持.hex文件)。
    • DFU工具:若开发板支持DFU模式,可直接通过USB烧录。
3. 烧录步骤
  1. 将开发板设置为DFU模式(通常需短接BOOT引脚)。
  2. 使用STM32CubeProgrammer选择固件文件并烧录。
  3. 烧录成功后,通过串口工具(如PuTTY)连接到开发板的REPL(交互式终端)。

二、基础外设控制:LED闪烁

1. 硬件连接
  • 将LED正极通过电阻连接到STM32的GPIO引脚(如PA5),负极接地。
2. Python代码实现
python">import pyb
from pyb import Pin

# 初始化LED引脚(假设LED连接至PA5)
led = Pin('PA5', Pin.OUT)

while True:
    led.value(1)  # 点亮LED
    pyb.delay(500)
    led

http://www.niftyadmin.cn/n/5864750.html

相关文章

PHP二手车置换平台系统小程序源码

二手车置换平台系统 🚗 基于ThinkPHPUniapp的创新之作:我们倾尽心力,精心打造了一款基于ThinkPHPUniapp框架的二手车置换平台小程序系统,它犹如二手车交易领域的璀璨明珠,熠熠生辉。这个平台不仅为买家和卖家搭建了一…

【数据库维护】如何解决Clickhouse数据库Too many parts报错

如何解决Clickhouse数据库Too many parts/memory exceed limit报错 问题现象 clickhouse数据库服务日志报错Too many parts.Merges are processing significantly slower than inserts exception.clickhouse数据库服务报错memory exceed limit 问题原因分析 针对单张表单个…

汽车零部件ERP软件进销存软件库存管理委外加工计算计件工资软件

本软件为给苏州某汽车零部件公司开发的进销存管理系统 软件除了基本的进销存功能外,主要是加了委外加工的部分即通过委外加工领料单与委外加工入库单来算委外加工费 及通过录入计件工资入库单来算员工计件工资。 github下载地址:https://github.com/oyan…

6. Go接口

一、接口相关概念 理解和掌握接口的使用对于写出优雅且可扩展的 Go 代码至关重要。接口是 Go 语言的核心,它提供了灵活的抽象方式,使得不同类型能够通过共享行为来合作,而不需要彼此依赖具体实现。这种机制对于模块化编程、降低耦合度以及实…

记录一下VScode可以使用nvcc编译,但VS不行的解决方案

最近在学习CUDA编程的东西,出现了一个问题Visual Studio在使用nvcc编译会报错。 D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vcruntime.h(197): error: invalid redeclaration of type name "size_t&q…

DeepSeek 助力 Vue 开发:打造丝滑的滑块(Slider)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

谷歌浏览器(Google Chrome)扩展程序的安装路径(插件的安装路径)

谷歌浏览器(Google Chrome)扩展程序的安装路径(插件的安装路径),举例:AdBlock 1、点击操作栏:扩展程序--管理扩展程序--我的扩展程序 2、点击“扩展程序”,比如:AdBlock,选择“详情”,找到“ID”…

第8章:LangChain检索增强生成RAG--2.4Advanced RAG【高级RAG】

这一部分详细介绍了 LangChain4j 中的高级 RAG(Advanced RAG)实现。高级 RAG 通过多个模块化组件来增强检索功能,提供了高度的灵活性和定制化能力,一般要做好,多半都会采用此方案 高级 RAG(Advanced RAG) 高级 RAG 可以通过 LangChain4j 实现,涉及以下核心组件: Que…