STM32替换Arduino直通车

发布时间:2024-08-05  

前言

众所周知,用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一样简单方便快捷了!


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    是一款多功能智能显示器。   Arduino NANO 进行计算。AtMega328p 只有一个 10 位 DAC,计算使用 Sine,所以会有限制。   使用1602显示器来显示结果——1602显示......
    。 所需的组件 ● STM32F103C8控制器 ● EM-18 RFID读卡器模块 ● RFID卡 ● 1602 LCD显示屏模块 ● 面包板 ● 连接线 在将RFID与STM32连接之前,首先......
    。 所需的组件 ● STM32F103C8控制器 ● EM-18 RFID读卡器模块 ● RFID卡 ● 1602 LCD显示屏模块 ● 面包板 ● 连接线 在将RFID与STM32连接之前,首先......
    基于51单片机的多功能电子时钟设计;设计任务: 1、设计任务:利用单片机、时钟芯片 DS1302、温度传感器 DS18B20、1602 液晶 等实现日期、时间、温度的显示即一个简单的万年历。 2......
    通过应用此定时开关在上班期间定时煮饭,手机充电在适当时间将电源断开 1.系统设计方案 以STC89C52单片机为核心,通过DS1302 时钟芯片进行时间控制,使用1×4键盘作为数据输入方式,驱动1602......
    51学习笔记之以总线方式实现1602与8051连接;//以总线方式实现8051与1602的通信 //这个程序主要实现功能是向1602发送一串字符串,并显示出来 #include......
    51单片机对LCD1602液晶显示的驱动控制设计;利用串行A/D转换器TLC549对输入信号电压源进行采集转换成数字信号给51单片机,经单片机进行数据处理后给1602液晶显示。 误差小于1......
    片机控制的窖码锁常使用汇编语言编写程序,显示器多数用数码管。而本文所介绍的电子密犸锁使用移植性及可读性强的高级语言C语言编写,便于修改和增减功能蚤同时采用显示清楚,功率消耗小而且寿命长的1602 液晶显示器,显示......
    STM32实例-LCD1602电路;1602 液晶,从它的名字我们就可以看出它的显示容量,就是可以显示 2 行,每行 16 个字符的液晶,电路图如下所示。 LCD1602它的任务电压是 4.5V......
    基于STM32单片机1602显示电子时钟;1、本系统采用1602显示时分秒,4个按键可以调整时间,一个按键是选择按键,一个按键是加,一个按键是减,一个按键是退出按键。 2、当选......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>