Arduino环境下开发STM32

原文在这:Arduino环境下开发STM32

最近折腾3D打印主板,主控芯片ATmega1284P,可惜出厂不带bootloader导致我不能串口线刷klipper固件,解决办法就是先给它刷上bootloader,一般需要一个USBasp下载器,不过我手头没有,因为之前玩过stm32,所以手头倒是有stm32开发板,询问AI得知可以把这个开发板刷成一个USBasp,程序刚好Arduino官方有提供,所以干脆学习下Arduino吧

Arduino IDE安装

这个没什么好说的,直接去官方下载安装即可,下载地址:
https://www.arduino.cc/en/software/

Arduino_Core_STM32安装

要在Arduino环境下开发STM32的程序,需要安装这个板卡依赖,github地址:
https://github.com/stm32duino/Arduino_Core_STM32.git

项目描述的Getting Started里有说明如何使用:

打开Arduino-首选项-设置,里面有个其他开发板管理器地址 配置,将描述里提到的这个地址:https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json填进去确认,Arduino IDE就开始下载相关的板卡依赖了。

下载完后,再打开工具-开发板-开发板管理,通过搜索:STM32 MCU based boards 可以找到这个安装。

以上下载安装步骤有可能会失败,主要是因为网络原因,下载比较慢,但是它又判断了下载超时时间,导致下载久了直接就断开了,所以最好设置一下代理:首选项-网络-手动配置代理

编译烧录

到这里也就差不多了,可以打开一个实例代码烧录进去看看效果,我这里在文件-示例里面找了个点灯的示例改了改:

复制代码
void  setup()  {
	// 初始化PC13引脚为输出模式
	pinMode(PC13, OUTPUT);
}

void  loop()  {
	digitalWrite(PC13, HIGH); // 设为高电平熄灭
	delay(900); // 等待900毫秒
	digitalWrite(PC13, LOW); // 设为低电平亮起
	delay(100); // 等待100毫秒
}

因为我的这块开发板PC13引脚上接了个led灯,所以就这么几行代码,非常简单完全不需要管其他初始化配置的代码(虽然cubemx配置也很简单就是)

最后遇到一个问题就是,因为我是用ST-Link烧录程序,所以我不需要选择端口,但是工具-Upload method要选择SWD,相应的这样烧录需要依赖ST官方的STM32CubeProgrammer软件,去这里下载:https://www.st.com/en/development-tools/stm32cubeprog.html#get-software

如果你想使用串口下载记得连上后端口要选择相应串口,而且启动模式我记得要把boot0改为1

后记

搞完发现两个严重的问题

  1. Arduino官方并没有提供基于STM32的ISP示例代码,都是基于Arduino开发板的,改改代码硬刷当然也行,但是总归有点麻烦
  2. stm32引脚3.3v,ATmega1284P引脚5v,直接这么接可能会烧掉。。。问了AI说是需要接电阻

还是别折腾自己的了,决定买块Arduino Nano开发板,才10块钱省心了

相关推荐
youcans_几秒前
【嵌入式软件AI编程】09. 使用VS Code调试STM32程序
stm32·mcu·ai编程·嵌入式软件·claude code
Kuakewei8883 分钟前
Type-C快充取电芯片产品介绍:PD与QC双协议取电
嵌入式硬件
开发笔记-阿牛6 分钟前
做工业报警器语音提示,CK6159A 为什么更合适?
人工智能·stm32·单片机·嵌入式硬件·音频
恶魔泡泡糖1 小时前
stm32F103C8T6标准库串口接收轮询方式1
stm32·单片机·嵌入式硬件
国科安芯2 小时前
寄存器级 Flash 擦除与六轮迭代踩坑实录
嵌入式硬件·mcu·架构·flash·抗辐射·eflash
艾芯微科技2 小时前
B16WS SOD-323 肖特基二极管参数、应用电路与选型踩坑指南
网络·单片机·嵌入式硬件·集成测试·51单片机
天空'之城2 小时前
单片机基础核心知识点汇总(三十七)
单片机·嵌入式硬件
Groundwork Explorer2 小时前
ESP32-C3 SuperMini 排查WIFI收发故障
python·单片机·嵌入式硬件·mcu
索端阳2 小时前
初识 ARM Cortex-A7,嵌入式底层入门总结
汇编·嵌入式硬件
糖糖单片机设计2 小时前
基于STM32的远程宠物自动投喂系统
人工智能·stm32·51单片机·语音识别·智能硬件