STM32 F103核心板 刷Arduino 固件

stm32f103运行python_microPython 有没有在 STM32F103上运行的固件 匿名用户1级2017-02-20 回答进入第一个个连接进入之后我们就可以选择红色方框Buid Firmware。之后我们就可以下载相应的固件了,但是这个固件是比较早的就是了,是2015年的固件,所以我们接下来要做的就是来自己编译一个固件。首先我们需要将我们的micropython的github开源项目的内容下载下来。选择下图的图标就是可以下载下来。或者在window或者linux底下直接使用Git... 阅读详情
AI摘要

作者因公司需求购买STM32F103C8T6开发板,用keil写程序太麻烦,决定尝试STM32刷Arduino。介绍了在Window7 64环境下,前期软件准备,包括Arduino IDE等的搭建与下载;硬件准备,如核心板、串口线等;还说明了开干步骤及注意事项,最终可像普通Arduino一样烧录STM32。

背景:简单玩过 Ardunio,C/C++算比较熟悉,会点python。最近公司需要实现些 简单功能,查资料 买了 STM32F103C8T6 的开发板。看了几天资料,用 keil 写了些简单程序。发现太麻烦了。而且我也不是专门搞这个的太浪费时间。(其实就是懒的学了)
找解决方案:
MicroPython 发现 没有比较现成的刷 stm32F103 的比较详细的教程。(官网)(STM32F103 可用用的github地址)
STM32 刷 Ardunio 感觉很简单的样子 就试了一下。

一,环境

  • Window7 64

二,前期软件准备

Arduino IDE:环境搭建

官网下载软件并安装:https://www.arduino.cc/en/Main/Software

STMicroelectronics :引导烧录程序

ST 官网下载链接:https://www.st.com/en/development-tools/flasher-stm32.html
国内备用链接:https://download.youkuaiyun.com/download/github_37290846/13255802

Arduino_STM32:版型文件

这个 主要是 让arduino ide 可以识别主板用的

Github下载地址:https://github.com/rogerclarkmelbourne/Arduino_STM32
国内备用链接;https://download.youkuaiyun.com/download/github_37290846/13254506

STM32duino-bootloader:板子的引导程序

注:这个是板子的固件,可以理解为 板子的系统

Github下载地址:https://github.com/rogerclarkmelbourne/STM32duino-bootloader
国内备用下载链接:https://download.youkuaiyun.com/download/github_37290846/13253645

三,硬件准备

STM32F103C8T6 核心板

我的就某宝买的,10块钱不到 搞定。
在这里插入图片描述

串口线

注:这里的线必须是usb转串口的才可以 我的也是淘宝10块钱搞定的。

这样的:
在这里插入图片描述
和 这样的都可以 二选一:
在这里插入图片描述
在这里插入图片描述

板子上的mini usb 串口线

注意一定要可以做串口输出的。(我不会承认自己拿了一根只可以充电的线搞了n久 搞不定的)

四,开干

  1. 首先将Arduino引导程序上传到STM32通过USB转串口连接STM32的串口

在这里插入图片描述

  1. 将BOOT0接到VCC(1)
    在这里插入图片描述

  2. 安装ST官方的Flasher工具,可使用该工具来刷新二进制文件
    在这里插入图片描述

注:这里大家就自行截图吧。
有几个注意项:
1.一定要选64k
2.binaries 需要选适合自己的(一般来说为:generic_boot20_pc13.bin)板载小灯的控制针脚。
3.ST 的软件安装后没有桌面图标,所以安装好后要记得 安装路径。(实在忘记了就全局搜索一下:STMFlashLoader Demo.exe)

  1. 软件设置
    1.之前下载的 Arduino_STM32 文件解压放在arduino 安装路径下如:
    在这里插入图片描述
    2.重启 Arduino IDE,打开工具>板型,可见如图则安装成功:
    在这里插入图片描述
    3.安装STM32 开发板管理器

这里注意不要选错了。我傻不愣登的 选择 “库管理” 找半天找不到。最后才发现自己 眼睛抽抽。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 安装驱动
    进入下面目录D:\App\Arduino\hardware\Arduino_STM32\drivers\win,以管理员身份运行install_drivers.bat和install_STM_COM_drivers.bat
    在这里插入图片描述

然后将开发板的串口线断开,将开发板BOOT0接GND后按住重置键不松,使用手机数据线连接开发板MicroUSB和电脑USB开始安装驱动,会发现一个新的USB串行设备下面为COM31
注:我经常得重复好几次才能成功。所以不要灰心。加油
补充:记得将BOOT0 的跳线帽拨回 O,(四 章节 第二点 ,改为了 1)
在这里插入图片描述

  1. Arduino 软件参数选择
    在这里插入图片描述

注:串口一定要选刚安装驱动出来的:一般为:Maple Mini 结尾

五,好了 我们可以 像 普通 arduino 一样烧录我们的 stm32 了

在这里插入图片描述

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(PC13, OUTPUT);
  Serial.begin(115200);
  Serial1.begin(115200);  //RX=PA9,TX=PA10
  Serial2.begin(115200);  //RX=PA2,TX=PA3
  Serial3.begin(115200);  //RX=PB10,TX=PB11


}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PC13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);   
  Serial.println("Test Serial");
  Serial1.println("Test Serial1");
  Serial2.println("Test Serial2");
  Serial3.println("Test Serial3");// wait for a second
}

注:一般实例代码里面默认的 点等程序用的是PB1,我们的是 PC13 (上面也说了)。所以需要改一下。
7.针脚定义
请添加图片描述

详细说明:

USB -- STM32F103 USB DFU设备固件升级(IAP)控制传输讲解(六) STM32F103 USB DFU设备固件升级(IAP)控制传输 阅读详情

相关推荐

低成本DIY赛车模拟器方向盘:STM32F103C8T6与FreeJoy固件实战

赛车模拟器方向盘的实质,是将按键、编码器和电位器等输入信号转换为PC可识别的USB HID报文。STM32F103C8T6作为一颗ARM Cortex-M3微控制器,凭借丰富的GPIO和USB外设,成为DIY外设圈的高性价比选择。而FreeJoy开源固件则封装了复杂的USB枚举和方向盘力反馈协议,让开发者无需深入底层就能实现自定义方向盘设备。这种方案不仅适合制作方向盘本体,还能扩展至踏板组和手刹,实现一套控制器覆盖多种模拟器输入需求。通过FreeJoy配置工具,用户可以直观完成按键映射、编码器轴模式设置和模

weixin_33857230的博客 175

基于Arduino框架下开发STM32F103C8T6系统板注意事项

基于Arduino框架下开发STM32F103C8T6系统板注意事项

perseverance51博客 3345

STM32第一个工程:CubeMX配置到Keil点灯完整指南

嵌入式开发入门常从STM32开始,而第一个工程的核心并非点亮LED本身,而是将芯片识别、代码编译、下载调试这一完整链路打通。STM32CubeMX以图形化方式生成初始化代码,Keil MDK负责编译与调试,ST-Link则构建起主机与芯片之间的通信桥梁——三者配合构成开发环境的基本框架。理解GPIO、时钟树与HAL库的协作关系,是后续编写外设驱动和排查故障的技术前提。无论是工业控制、物联网终端还是自动化设备,从简单的LED闪烁到复杂的实时系统,都依赖这套基础流程。对于零基础学习者,掌握最小系统板、调试器连接

weixin_34221112的博客 928

基于Arduino环境的Stm32 MCU开发

1 Arduino Stm32基础环境配置 参看Getting Started · stm32duino/wiki Wiki · GitHub及STM32duino——依托Arduino框架玩转STM32(一): 开发环境的配置 - 知乎 (zhihu.com)。 下载安装Arduino IDE,运行Arduino。选择文件->首选项,在附加开发板管理器中填入:https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmi

liu9ang的博客 1万+

STM32固件库入门:从零实现流水灯工程搭建与代码详解

在嵌入式系统开发中,微控制器外设驱动是连接硬件与软件的关键层。其核心原理是通过封装底层寄存器操作,提供简洁的API接口,从而降低开发复杂度、提升代码可维护性。这一技术价值在于让开发者能快速构建稳定可靠的嵌入式应用,尤其适用于工业控制、物联网设备等场景。本文聚焦STM32平台,深入解析如何利用官方固件库进行GPIO外设的配置与控制,并详细演示了从工程创建、时钟初始化到流水灯逻辑实现的完整流程。通过结合SysTick定时器实现精准延时,以及探讨模块化编程与位带操作等优化技巧,为读者掌握STM32标准外设库开发提

weixin_30740295的博客 496

STM32水质检测系统开源:代码、原理图与仿真全解析

嵌入式传感采集系统中,多参数水质检测涉及模拟信号调理、ADC多通道采集与数字滤波等基础技术。其原理是通过高输入阻抗运放进行阻抗变换,结合12位ADC与DMA搬运实现微弱信号稳定采集,再经温度补偿算法提升精度。技术价值在于以低成本MCU实现工业级参数监测,应用场景覆盖水产养殖、水处理及毕业设计。本文拆解一套基于STM32F103C8T6的开源水质检测方案,涵盖pH、浊度、TDS与温度四参数,提供原理图、固件代码及Proteus仿真验证,并分享ADC采样、滤波及标定等工程避坑经验。

weixin_34032621的博客 347

基于STM32的3D打印机控制:从方案选型到固件落地全解析

实时控制系统是嵌入式开发的核心场景之一,STM32凭借丰富的外设资源、可靠的实时响应和低成本优势,成为步进电机驱动与PID温控等应用的理想平台。理解STM32如何通过定时器生成精确脉冲、通过ADC采集温度并闭环控制加热功率,是掌握固件开发与运动控制的基础。在此基础上,围绕Marlin等主流固件,剖析G代码解析、运动规划队列、加减速算法等关键技术,并结合实际硬件选型与调试经验,为DIY玩家和嵌入式开发者提供从原理到实践的完整参考。无论是自制3D打印机还是深度改造现有设备,这套技术栈都能帮助开发者从底层掌控系统

weixin_29165725的博客 291

【雕爷学编程】Arduino动手做(197)---零知 STM32F103RBT6 标准开发板2

雕爷学编程,Arduino动手做,开源硬件,创客传感器,零知 STM32F103RBT6 标准开发板

雕爷学编程 589

深度解析:STM32 Arduino以太网开发实战指南与性能优化

Arduino_STM32项目为STM32微控制器提供了完整的Arduino开发环境支持,特别针对以太网开发提供了Ethernet_STM库,让开发者能够快速构建网络连接的嵌入式设备。本指南将深入探讨STM32与W5x00系列以太网控制器的集成开发,从硬件连接到高级网络应用,提供完整的实战解决方案。 ## 📊 硬件连接方案对比分析 在STM32以太网开发中,硬件连接是关键的第一步。Ether

gitblog_00241的博客 414

基于STM32的CNC控制器:从核心原理到工程实践全解析

运动控制是自动化与智能制造领域的核心技术,其核心原理在于通过算法将连续路径指令分解为离散的电机控制信号。在嵌入式系统中实现高精度运动控制,需要强大的实时计算能力与丰富的外设支持。STM32系列微控制器凭借其高性能内核、硬件浮点单元(FPU)和高级定时器等特性,为构建实时、可靠的控制器提供了理想的硬件平台。这种技术方案的价值在于能够替代传统封闭、昂贵的商用CNC系统,实现开源、可定制化的运动控制,广泛应用于桌面雕刻、小型加工、创客项目及教育领域。本文聚焦于如何利用STM32的**定时器**和**DMA**等关

weixin_33937499的博客 604

【MCU】一种基于RTOS的无应答重发机制

文章目录一、背景描述二、结构框图三、基于RTOS的信号量的实现(3-1)思路描述(3-2)步骤(3-2-1)定义超时重发信号量(3-2-2)定义发送线程入口(3-2-3)定义接收线程入口四、基于定时器的实现(4-1)思路描述(4-2)步骤(4-2-1)创建定时器(4-2-2)定义定时器超时处理函数(4-2-3)定义发送线程入口(4-2-4)定义接收线程入口 一、背景描述 ​ 在微控制器之间进行数据通信时,大多需要添加无应答重发机制,以增强数据交互和通信的稳定性。 在使用UART通信的双方设备,当一次数据传输

iriczhao的博客 1523

STM32CubeMX图形化配置工具:从环境搭建到LED闪烁实战指南

在嵌入式系统开发中,微控制器外设配置是连接硬件与软件的关键环节,传统手动配置寄存器的方式不仅效率低下,且容易出错。其原理是通过对芯片时钟、GPIO、中断等硬件资源进行初始化,为上层应用提供稳定可靠的硬件抽象层。这项技术的核心价值在于显著降低开发门槛,提升代码的可维护性和可移植性。在快速原型开发、多外设协同以及团队协作等应用场景中,图形化配置工具的作用尤为突出。STM32CubeMX正是这样一款工具,它通过可视化界面完成芯片选型、引脚分配和时钟树配置,并一键生成初始化代码,完美解决了STM32开发中繁琐的底层

weixin_30945039的博客 414

从零开始学华为设备:手把手教你用ENSP搭建OSPF实验环境(附拓扑文件)

本文详细介绍了如何使用华为ENSP模拟器从零开始搭建OSPF多区域网络实验环境,包括拓扑规划、设备配置、OSPF参数优化及故障排查技巧。通过实战案例和配置示例,帮助网络工程师快速掌握华为设备的OSPF协议配置,提升企业网络环境中的实战能力。

weixin_29305313的博客 286

STM32开发板选型指南:从核心需求到实战路径

微控制器(MCU)作为嵌入式系统的核心,其选型直接影响学习效率与项目开发。理解MCU的基本架构与外设工作原理是嵌入式开发的基础,这有助于评估芯片性能与资源是否匹配应用需求。在工程实践中,合理的硬件选型能显著降低开发门槛,提升代码调试与系统集成的效率。对于STM32这类主流ARM Cortex-M系列MCU,丰富的生态资源与社区支持成为关键考量。本文聚焦于STM32开发板的选择逻辑,通过分析不同系列芯片的特性,如经典入门的STM32F103、高性能的STM32F4/H7以及高性价比的STM32G0/F0,并结

weixin_34221276的博客 401

MATLAB绘图中文乱码终极解决方案:从方框到清晰显示的全面指南

本文提供了MATLAB绘图中文乱码的全面解决方案。针对中文显示为方框的问题,从单次绘图的临时字体设置,到通过修改默认配置实现一劳永逸,再到系统级字体排查与Java环境配置,给出了详细的步骤指南。文章还涵盖了字体名称指定、图像导出防丢失以及跨平台协作等高级技巧,帮助用户彻底解决中文乱码困扰。

weixin_29093017的博客 615

从MC到DC:三维重建算法的核心原理与实战对比

本文深入对比了三维重建领域两大经典算法Marching Cubes(MC)与Dual Contouring(DC)的核心原理与实战表现。MC算法原理直观、实现简单,但存在特征丢失和二义性问题;DC算法通过求解二次误差函数(QEF)和利用法向量信息,能更好地保留模型的尖锐特征,但计算更复杂。文章结合医学影像处理实例,为开发者根据速度、精度和特征保真度需求选择合适算法提供了清晰指南。

weixin_29251131的博客 1033

STM32 开发板怎么选?从芯片型号到调试器的全流程避坑指南

嵌入式开发中,单片机是核心控制器件,而开发板则是集成了电源、时钟、调试接口与外围电路的最小工作系统。理解开发板的组成原理,是正确选型的前提。STM32 系列基于 ARM Cortex-M 内核,不同型号在引脚、Flash、外设资源上差异显著,这种硬件差异直接影响项目可承载的复杂度与调试效率。从工程实践角度看,板级适配不仅关乎例程能否跑通,更影响后续做显示交互、通信组网、电机控制等具体项目时的开发体验。常见应用场景覆盖智能硬件原型、工业通信与教学实验,此时往往会用到 HAL 库与 ST-Link 等工具链。面

weixin_34025051的博客 490

树莓派4B+红外传感器:手把手教你DIY一个能走黑线的智能小车(Python代码全解析)

本文详细介绍了如何使用树莓派4B和红外传感器DIY一个智能循迹小车,包括硬件配置、GPIO连接、Python代码实现及优化算法。通过动态PWM调速、状态机设计和赛道记忆算法,提升小车的循迹性能和稳定性。适合初学者和电子爱好者动手实践。

weixin_29188043的博客 269

STM32开发环境搭建指南:CubeMX与Keil5安装配置全攻略

在嵌入式开发中,搭建一套稳定的工具链往往是项目推进的第一步。STM32作为主流32位单片机,其开发流程与Arduino等简易平台不同,需要图形化配置工具STM32CubeMX与集成开发环境Keil MDK-ARM协同工作:前者负责引脚分配、时钟树计算及外设初始化代码生成,后者负责编译、链接、烧录与调试。理解这两款工具的分工原理,正确安装固件包与设备支持包(DFP),是新手避免环境问题困扰的关键。无论是做课程设计、参加竞赛还是开发产品原型,掌握这套标准流程都能显著提升开发效率。本文结合工程实践,系统梳理从软件

weixin_33913332的博客 430

CNN卷积神经网络手写数字识别实例及代码详解

本文的代码来自githup的Deep Learning的toolbox,是用Matlab实现的。感谢该toolbox的作者付出和分享。 我在应该该代码进行训练时,出现一些报错,如expand函数应用不对,flipall函数未定义等问题,对这些问题进行了修正,完成网络训练和验证。 本文mnist_uint8.mat的获取可以参照我的另一篇博客:MNIST数据库处理--matlab生成mnist_

VivienFu的专栏 6万+

Fluent基于低氧舱气体交换仿真(氮气与空气混合)

一、背景概述 模拟低氧舱充氮气和排除混合气体的过程,假设注入95%的氮气,舱内原有气体为空气,压力为标准大气压,温度为300K。观察气体注入过程中,舱内平均氮气和氧气浓度的变化。 二、Fluent设置 Setup 1、General type选择压力基 绝对速度 瞬态 重力勾选 2、Model 能量方程开启 组分运输开启,设置方法如下: 选择后OK,view就会变成Edit,点击Edit。然后再次点击Edit。 将组分中的非氮气氧气和空气的气体移除,右边选项需要将空气放在最后一位。 3、Materi

qq_35535616的博客 1万+

STM32CubeMX与CubeProg安装配置指南:从零搭建STM32F103开发环境

在嵌入式系统开发中,微控制器(MCU)的底层配置与程序烧录是基础且关键的环节。传统开发方式需要手动配置复杂的时钟树、外设寄存器,不仅耗时且易出错。STM32CubeMX作为图形化配置工具,通过可视化界面自动生成初始化代码,大幅降低了开发门槛。其技术价值在于将开发者从繁琐的底层细节中解放,提升开发效率与代码可维护性。结合STM32CubeProgrammer(CubeProg)这一官方烧录工具,可实现对芯片的一站式编程与调试。这套工具链特别适用于STM32F103等系列芯片的快速原型开发与学习,是嵌入式开发入

weixin_34195546的博客 1030

【乐企】有关乐企能力测试接口对接-基础版(详细)

乐企能力测试接口对接详细代码以及步骤

九七的博客 7663

STM32CubeMX配置教程:从零搭建STM32工程对接ESP8266与阿里云MQTT

嵌入式开发中,STM32作为主流MCU,其工程搭建效率直接影响物联网项目进度。STM32CubeMX作为图形化配置工具,通过自动生成HAL库初始化代码,大幅降低寄存器级配置的门槛,开发者无需手动计算时钟树或反复核对外设寄存器,即可快速完成串口、GPIO等基础资源初始化。这种配置方式尤其适合Wi-Fi通信模块ESP8266的接入场景:稳定的串口波特率与正确的引脚复用,是ESP8266正确响应AT指令的前提。在阿里云IoT等平台接入流程中,设备端往往需要同时管理数据采集与网络通信,借助CubeMX生成标准工程骨

weixin_34387468的博客 429

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

基于STM32的3D打印机控制核心:步进电机与PID整定实战

STM32作为嵌入式控制领域的核心微控制器,凭借强实时性、丰富外设与成熟工具链,在3D打印、CNC等精密运动控制场景中占据关键地位。3D打印机的运动控制涉及步进电机脉冲规划、加减速算法与温度闭环调节,其中PID整定直接决定热端稳定性和打印质量。理解STM32的定时器PWM输出、ADC采样、串口交互原理,是构建可靠主控的基础。Marlin固件与Klipper架构进一步凸显了STM32在实时执行层的技术价值——既可作为独立主控单独运行,也可承担Linux上位机的实时协处理器。实际工程中,从每毫米步数校准、温度曲

weixin_33925615的博客 307

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Arduino十周年技术聚会:从IDE配置到ESP32项目实战全解析

开源硬件平台Arduino以其低门槛和灵活性,已成为创客、教育及物联网原型开发的核心工具。其工作原理基于简化的C/C++编程框架与丰富的硬件抽象层,使得开发者无需深入底层即可快速实现交互式电子项目。这一特性极大地降低了嵌入式开发的技术门槛,其技术价值在于加速了从概念到原型的迭代过程,广泛应用于智能家居、教育机器人、艺术装置及工业自动化等场景。本文聚焦Arduino IDE环境配置、库管理实战以及ESP32在音乐频谱LED等复杂项目中的应用,通过现场工作坊案例,深入探讨了电源设计、FFT算法集成等工程实践要点

weixin_30326515的博客 370

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: QT 串口基本通信 笔记
下一篇: Qt5多线程串口收发数据
低配天才
博客等级 码龄10年 277粉丝 57原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值