0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32替换Arduino直通车

单片机 来源:单片机 2020-05-14 10:18 次阅读

前言

众所周知,用Arduino进行开发简单快捷,一个项目能很快的做好,而Arduino相比STM32,贵且性价比也很低,Arduino Uno可用的针脚也少得可怜,怎么办?换做STM32吧!STM32高性能,STM32的最小系统版价格很低,对我这种穷学生来说是福利啊!于是我兴致勃勃的淘了STM32的最小系统版准备入坑STM32。


可接下来我就要下载各种各样的软件进行编程,烧录,写个最简单的Blink程序都非常麻烦,折腾我一天。


要是能像Arduino一样简单方便快捷就好了,怎么办呢?那么现在正式开始教程

所需工具

STM32最小系统板,配套数据线,20元以下的就可以了。

Arduino(不是必须,但如果你不想买USB转TTL就可以把Arduino用USB转TTL)或者USB转TTL模块一个。

跳线数根。

教程

1、配置Arduino并下载所需的文件

首先我们下载这个人开源的Arduino-STM32项目
https://github.com/rogerclarkmelbourne


下载下来并解压


Arduino快捷方式右键打开文件所在位置,将解压下来的文件移动到如下图所示目录,并将文件夹改名为STM32


接下来是重点,打开Arduino,进入开发板管理器,安装如下图所示的开发板文件


安装完后选择你的STM32开发板型号


Arduino新建一个空文件,点击左上角的验证按钮,看看能不能编译,如果可以就继续

2、为STM32下载和烧写Bootloader

接下来我们需要用USB转TTL给STM32烧录Bootloader,首先我们要下载Bootloader,进入刚刚那个人的另一个开源项目,这个地址:
https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries
选择你的STM32最小系统板的D2所对应的接口名字的文件下载(一定要选择对应的)


比如我这里找到开发板的原理图,D1是通电后的指示灯,D2是另外的LED灯,它连接了PC13针脚


那么我就选择这个文件下载


下载完成后,我们要烧录这个文件到STM32里,我们先下载所需要的软件,叫做FlyMcu,下载地址:https://www.lanzous.com/ib3shba


然后,这里我用Arduino代替USB转TTL进行烧录,降低额外的成本。

需要注意的是,STM32的BOOT0要接上VCC高电平,BOOT1要接上GND低电平,然后按STM32版上的REST按钮使之重启进入ISP下载模式,我们才可以烧录Bootloader进去(重要)。


然后我们还可以看到,PA9是TX,PA10是RX。STM32的TX连接Arduino的RX(0接口),STM32的RX连接Aruidno的TX(1接口)。


紧接着,如果要把Arduino用作USB转TTL一定要把Arudino的RST接口一直连接Arduino的GND!Arduino连接电脑,STM32也要供电


OK,恭喜你来到了这一步,接下来我们要用FlyMcu烧录程序,但FlyMcu无法烧录.bin文件(可以打开但无法烧录),这时我们要需要把刚刚下载下来的Bootloader从.bin文件转换成.hex文件进行烧录!


所以我们还需要一个软件,来完成这个操作,叫做BinToHex。
下载地址:https://www.lanzous.com/ib3shcb


选择我们刚刚下载的bootloader文件,然后选择文件夹导出成.hex文件,随便取个名字。


这时我们还需要很重要的一步,将生成的.hex文件用文本编辑器打开,将第一行的:020000040000FA更改成:020000040800F2(非常非常重要)


紧接着保存退出,我们打开FlyMcu,选择已经修改好的.hex文件,点击开始编程


注意,如果长时间无法连接,请按STM32版上的RST按钮或者断电重试!
如果烧录Bootloader成功,并且STM32版是通过USB连接电脑供电的话,你的电脑会提示你USB设备异常,这是没用安装正确的驱动造成的,我们打开设备管理器看一下

3,为电脑安装连接STM32的驱动

解决这个问题,接下来我们安装驱动程序。
进入我们之前下载的文件目录,点击下图所示的.bat文件安装驱动,一定要要管理员身份运行


success就是成功了,我们按STM32上的RST键,随着电脑的提示音,这时我们再看看设备管理器


我们发现多了一个串口,如果不行就重启电脑试一试。

最后我们打开Aruidno IDE,选择上传程序的模式,如下图


然后写入一个Blink程序

voidsetup(){pinMode(PC14,OUTPUT);}voidloop(){digitalWrite(PC14,HIGH);delay(50);digitalWrite(PC14,LOW);delay(50);}

随着红色的“Done!”和电脑一声USB提示,STM32自动重启,然后连接在STM32PC14接口上的LED开始闪烁了!


以后我们不需要额外的硬件,直接用数据线连接STM32最小系统版和电脑,并打开Arduino IDE就可以像玩Arduino一样简单方便快捷了!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2239

    文章

    10665

    浏览量

    348519
  • 数据线
    +关注

    关注

    8

    文章

    261

    浏览量

    37026
  • Arduino
    +关注

    关注

    184

    文章

    6425

    浏览量

    184775

原文标题:STM32替换Arduino直通车

文章出处:【微信号:aidanpianji,微信公众号:单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何用Arduino开发STM32G070?

    如何用Arduino开发STM32G070,各位大神有相关教程吗。我如何在Arduino的开发板管理器中添加STM32G070开发板,如何把程序下载到CPU中?
    发表于 04-07 08:22

    直通网线和交叉网线的区别有哪些呢?

    直通网线和交叉网线的主要区别在于线缆两端端接时采用的线序标准不同。具体来说,直通网线的两端均采用T-568A线序标准或T-568B线序标准,而交叉网线的一端采用T-568A线序标准另一端采用
    的头像 发表于 03-07 10:34 338次阅读

    smt贴片加工直通率为什么如此重要

    smt贴片加工,smt 直通率堪称是贴片加工厂的生命线,有些公司的直通率必须达到95%才是达标线,因此直通率的高低,反应了贴片加工厂的技术实力、工艺品质,直通率高能够提升公司的产能效率
    的头像 发表于 12-05 10:23 571次阅读

    GD32和STM32有何区别?GD32如何替换STM32呢?

    GD32和STM32有何区别?GD32如何替换STM32呢? GD32和STM32是两种不同的微控制器系列,一般被用于嵌入式系统开发。GD32是中国华大基因(Gigadevice)公司
    的头像 发表于 11-22 18:18 3194次阅读

    Arduino IDE打开开发板管理器搜索Arduino SAM的开发板不能找到怎么解决?

    Arduino IDE打开开发板管理器搜索Arduino SAM的开发板不能找到怎么解决 可能被墙 也没有其他源可以替换 或者手动安装这个开发板库的方法
    发表于 11-10 08:29

    能直接替换STM32芯片的产品有哪些?

    如题,国产芯片现在也很多,看到有几个公司产品命名和STM32很相似,想问问有能直接替换STM32的芯片吗。
    发表于 11-02 08:15

    HarmonyOS语言基础类库开发指南上线啦!

    指南中提供了详细的介绍和开发指导,帮助开发者全面了解并发实现、容器类库基础操作、XML的生成解析与转换等。 本期HarmonyOS开发者资料直通车带您快速了解内容干货~ 一 语言基础类库文档上新介绍 语言基础类库开发指南为HarmonyOS应用开发者提供了常用的基
    的头像 发表于 10-18 16:20 268次阅读
    HarmonyOS语言基础类库开发指南上线啦!

    51单片机和arduinostm32的代码能互相转换吗?

    51和arduinostm32的代码能互相转换吗?
    发表于 10-18 06:15

    GD32如何替换STM32

    GD32如何替换STM32
    的头像 发表于 09-18 10:58 1467次阅读
    GD32如何<b class='flag-5'>替换</b><b class='flag-5'>STM32</b>?

    在Virtex-6 FPGA中使用全数字VCXO替换技术实现三倍速率SDI直通

    电子发烧友网站提供《在Virtex-6 FPGA中使用全数字VCXO替换技术实现三倍速率SDI直通.pdf》资料免费下载
    发表于 09-14 14:52 3次下载
    在Virtex-6 FPGA中使用全数字VCXO<b class='flag-5'>替换</b>技术实现三倍速率SDI<b class='flag-5'>直通</b>

    SMT贴片加工生产怎么提高直通

    一站式PCBA智造厂家今天为大家讲讲如何提高SMT贴片加工的直通率?提高smt贴片加工的直通率方法。SMT贴片加工对加工质量评价有一个重要指标,那就是直通率。在贴片加工中。SMT加工直通
    的头像 发表于 09-13 09:38 297次阅读

    ch32f103c8t6替换stm32可以吗

    ch32f103c8t6替换stm32可以吗 我很乐意为您提供一份详尽、详实、细致的1500字以上的文章,关于是否可以使用ch32f103c8t6替换stm32的问题。 首先,让我们来
    的头像 发表于 08-22 16:06 1198次阅读

    VFIO设备直通原理

    设备直通给虚拟机能够极大提升虚拟机对物理设备访问的性能
    的头像 发表于 06-07 17:40 1577次阅读

    利用Arduino Nano制作一个四足机器人遇到HC-05蓝牙模块问题,可以用ESP8266替换Arduino吗?

    我在 Arduino Nano 的帮助下制作了一个四足机器人。但我经常遇到 HC-05 蓝牙模块的问题。所以现在我正在考虑用 ESP8266 替换 Arduino。谁能帮我这个?
    发表于 06-02 08:12

    STM32Arduino对比,谁更厉害?

    ArduinoSTM32性能对比究竟谁更厉害呢?
    的头像 发表于 05-22 14:35 3462次阅读