如何使用USB端口对STM32F103C8板进行编程

控制/MCU

1883人已加入

描述

搭载STM32F103C8微控制器的STM32开发板采用ARM Cortex M3架构,具有高运行速度和更多外设选项,因此越来越受欢迎。此外,由于该板可以使用Arduino IDE轻松编程,因此它已成为许多业余爱好者和工程师快速原型设计的首选。

为了对电路板进行编程,我们使用了FTDI编程器模块,并且在上传和测试代码时还必须在引导0跳线和1位置之间切换,这肯定是一项艰巨的任务。此外,开发板上的迷你USB端口完全未使用。这样做的原因是,购买STM32开发板时,它没有附带Arduino就绪引导加载程序,因此当通过USB连接时,您的计算机不会发现该板。

希望存在一个由LeafLabs为Maple迷你板开发的实验性引导加载程序。这个引导加载程序可以烧入STM32一次,然后我们可以直接使用STM32板的USB端口上传程序,就像任何其他Arduino板一样。但是,在记录本教程时,此引导加载程序仍处于开发阶段,不建议用于关键应用程序。

所需材料

STM32 – (蓝丸)开发板 (STM32F103C8))

FTDI 程序员

面包板

连接线

带互联网的笔记本电脑

电路图

要直接通过USB端口对STM32 Blue Pill板进行编程,我们需要先将Maple引导加载程序闪存到MCU中。为此,我们需要使用串行FTDI板。该板连接到STM32的Rx和Tx引脚,如下所示。

Cortex

FTDI 板的 Vcc 引脚连接到为板供电的 STM32 5V 引脚。接地连接到STM32的接地。FTDI 板的 Rx 和 Tx 引脚分别连接到 STM32 的 A9 和 A10 引脚。其中A9是STM32 MCU的Tx引脚,A10是Rx引脚。

Cortex

上传引导加载程序时,确保主板上的引导 0 跳线引脚设置为 1(编程模式)。一旦引导加载程序被刷新,这个引脚就可以改变回初始位置(工作模式)。

Cortex

将Maple引导加载程序上传到STM32开发板

完成上述连接后,将FTDI板连接到您的计算机,然后按照步骤将引导加载程序刷新到STM32中。

第 1 步:我们必须从 github 页面下载引导加载程序文件二进制文件(bin 文件)。有许多版本的 bin 文件,对于 Blue Pill 板使用此 github 链接并单击下载按钮下载 bin 文件。

第 2 步:接下来,我们必须下载并安装STM闪存加载程序软件,将下载的bin文件闪存到STM32中。单击此链接进入 ST 网站并滚动到底部并单击获取软件

Cortex

步骤3:要下载软件,您必须输入您的电子邮件地址,下载链接将发送到您的电子邮件。然后点击链接返回网站,再次单击获取软件,您将开始下载。是的,这有点令人沮丧,但这就是应该做的。不要忘记检查垃圾邮件文件夹中的电子邮件,有时电子邮件需要几分钟才能到达。

步骤4:下载安装软件后,确保您的STM32板通过FTDI板连接到计算机,然后启动软件。如果不使用设备管理器,该软件将自动检测COM端口,并确保选择正确的COM端口号。就我而言,它是COM4。将设置的其余部分保留如下。

Cortex

第 5 步:单击“下一步”按钮两次,软件将再次自动检测电路板详细信息并显示如下。我们使用的电路板是STM32F1,具有128K闪存。

Cortex

第 6 步:在下一步中,选择“下载到设备”,然后浏览到我们在步骤 1 中下载 bin 文件的位置并选择它。点击下一步。

Cortex

第 7 步:该软件将下载一些所需的文件,如下所示,然后开始刷新过程。

Cortex

第 8 步:闪烁成功完成后,我们将看到以下屏幕。单击关闭并退出应用程序。我们已经成功地用Arduino引导加载程序刷新了STM32板。现在我们必须准备Arduino IDE并安装驱动程序,然后才能对STM32板进行编程。

Cortex

准备 Arduino IDE 并安装驱动程序

按照以下步骤下载并准备与STM 32开发板一起使用的Arduino IDE。

步骤1:- 如果您尚未安装Arduino IDE,请从此链接下载并安装它。确保选择正确的操作系统。

步骤2:- 安装Arduino IDE后,打开并下载STM32板所需的软件包。这可以通过选择文件 -> 首选项来完成。

步骤3:- 单击首选项将打开下面显示的对话框。

然后按确定。

Cortex

步骤4:-现在转到工具->板->板管理器。这将打开开发板管理器对话框,搜索“STM32F1”并安装出现的软件包。

第 5 步:安装软件包后,导航到 C:Program Files (x86)ArduinohardwareArduino_STM32-masterdriverswin,您可以在其中找到install_drivers.bat和install_STM_COM_drivers.bat。

第 6 步:单击两个 bat 文件并安装驱动程序。您将获得如下所示的DOS屏幕。

Cortex

 

Cortex

现在,Arduino IDE已准备好对STM32(Blue Pill)开发板进行编程,并且还安装了驱动程序。

直接通过USB端口对STM32(蓝色药丸)进行编程

从STM32上卸下FTDI板和所有现有连接。只需使用STM32板上的微型USB端口将其连接到计算机,如下所示。确保跳线 0 针脚重新定位在 0(操作模式)。此后,我们不再需要切换跳线来上传和运行程序。

Cortex

您的计算机现在应该能够发现主板。如果您看到安装了任何其他驱动程序,请稍等片刻。然后进入设备管理器,检查是否在COM和端口部分下发现了您的STM32板,如下所示。Mine连接到COM8,名称为Maple Mini。

Cortex

转到工具并向下滚动以找到通用STM32F103C系列,如下所示。然后确保变体为64k闪存类型,CPU速度为72MHz,并将上传方法更改为STM32duino引导加载程序。还要根据设备管理器上的COM端口选择正确的COM端口。

Cortex

完成所有更改后,检查Arduino IDE的右下角,您应该注意到正在设置以下设置。我的STM32板已连接到COM8,但您的可能有所不同

Cortex

现在,Arduino IDE已准备好对STM 32 Blue Pill开发板进行编程。让我们将示例闪烁程序从Arduino IDE上传到STM32 Blue Pill板,以确保一切正常。示例程序可在以下位置找到

Cortex

在打开的示例程序中,我们必须进行一个小的更改。默认情况下,该程序将为 PB1 编写,但在我们的板上,板载 LED 连接到 PC13,因此将所有 PB1 替换为 PC13,我们很好继续。修改后的完整示例程序也可以在本页底部找到。

循环函数中的代码如下所示,我们可以注意到 PC13 引脚保持高电平(打开)1000 毫秒,然后又打开 LOW(关闭)1000 毫秒,这是无限次完成的,因为它处于循环函数中。因此,LED 似乎以 1000 毫秒的间隔闪烁。

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);              // wait for a second

按下Arduino IDE上的上传按钮,您的程序应该被编译并上传。如果一切按预期工作,那么您应该在Arduino IDE控制台上看到以下内容。

Cortex

如果程序已成功上传,则您应该会看到绿色 LED 以 1 秒的间隔闪烁,如下面的视频所示。您还可以摆弄程序以增加或减少延迟。现在,您可以像使用任何其他Arduino板一样开始使用STM32(Blue Pill)开发板,也就是说,您不再需要更改跳线的位置或使用外部硬件来上传和测试程序。

Cortex

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分