搭载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引脚,如下所示。
FTDI 板的 Vcc 引脚连接到为板供电的 STM32 5V 引脚。接地连接到STM32的接地。FTDI 板的 Rx 和 Tx 引脚分别连接到 STM32 的 A9 和 A10 引脚。其中A9是STM32 MCU的Tx引脚,A10是Rx引脚。
上传引导加载程序时,确保主板上的引导 0 跳线引脚设置为 1(编程模式)。一旦引导加载程序被刷新,这个引脚就可以改变回初始位置(工作模式)。
将Maple引导加载程序上传到STM32开发板
完成上述连接后,将FTDI板连接到您的计算机,然后按照步骤将引导加载程序刷新到STM32中。
第 1 步:我们必须从 github 页面下载引导加载程序文件二进制文件(bin 文件)。有许多版本的 bin 文件,对于 Blue Pill 板使用此 github 链接并单击下载按钮下载 bin 文件。
第 2 步:接下来,我们必须下载并安装STM闪存加载程序软件,将下载的bin文件闪存到STM32中。单击此链接进入 ST 网站并滚动到底部并单击获取软件
步骤3:要下载软件,您必须输入您的电子邮件地址,下载链接将发送到您的电子邮件。然后点击链接返回网站,再次单击获取软件,您将开始下载。是的,这有点令人沮丧,但这就是应该做的。不要忘记检查垃圾邮件文件夹中的电子邮件,有时电子邮件需要几分钟才能到达。
步骤4:下载安装软件后,确保您的STM32板通过FTDI板连接到计算机,然后启动软件。如果不使用设备管理器,该软件将自动检测COM端口,并确保选择正确的COM端口号。就我而言,它是COM4。将设置的其余部分保留如下。
第 5 步:单击“下一步”按钮两次,软件将再次自动检测电路板详细信息并显示如下。我们使用的电路板是STM32F1,具有128K闪存。
第 6 步:在下一步中,选择“下载到设备”,然后浏览到我们在步骤 1 中下载 bin 文件的位置并选择它。点击下一步。
第 7 步:该软件将下载一些所需的文件,如下所示,然后开始刷新过程。
第 8 步:闪烁成功完成后,我们将看到以下屏幕。单击关闭并退出应用程序。我们已经成功地用Arduino引导加载程序刷新了STM32板。现在我们必须准备Arduino IDE并安装驱动程序,然后才能对STM32板进行编程。
准备 Arduino IDE 并安装驱动程序
按照以下步骤下载并准备与STM 32开发板一起使用的Arduino IDE。
步骤1:- 如果您尚未安装Arduino IDE,请从此链接下载并安装它。确保选择正确的操作系统。
步骤2:- 安装Arduino IDE后,打开并下载STM32板所需的软件包。这可以通过选择文件 -> 首选项来完成。
步骤3:- 单击首选项将打开下面显示的对话框。
然后按确定。
步骤4:-现在转到工具->板->板管理器。这将打开开发板管理器对话框,搜索“STM32F1”并安装出现的软件包。
第 5 步:安装软件包后,导航到 C:Program Files (x86)ArduinohardwareArduino_STM32-masterdriverswin,您可以在其中找到install_drivers.bat和install_STM_COM_drivers.bat。
第 6 步:单击两个 bat 文件并安装驱动程序。您将获得如下所示的DOS屏幕。
现在,Arduino IDE已准备好对STM32(Blue Pill)开发板进行编程,并且还安装了驱动程序。
直接通过USB端口对STM32(蓝色药丸)进行编程
从STM32上卸下FTDI板和所有现有连接。只需使用STM32板上的微型USB端口将其连接到计算机,如下所示。确保跳线 0 针脚重新定位在 0(操作模式)。此后,我们不再需要切换跳线来上传和运行程序。
您的计算机现在应该能够发现主板。如果您看到安装了任何其他驱动程序,请稍等片刻。然后进入设备管理器,检查是否在COM和端口部分下发现了您的STM32板,如下所示。Mine连接到COM8,名称为Maple Mini。
转到工具并向下滚动以找到通用STM32F103C系列,如下所示。然后确保变体为64k闪存类型,CPU速度为72MHz,并将上传方法更改为STM32duino引导加载程序。还要根据设备管理器上的COM端口选择正确的COM端口。
完成所有更改后,检查Arduino IDE的右下角,您应该注意到正在设置以下设置。我的STM32板已连接到COM8,但您的可能有所不同
现在,Arduino IDE已准备好对STM 32 Blue Pill开发板进行编程。让我们将示例闪烁程序从Arduino IDE上传到STM32 Blue Pill板,以确保一切正常。示例程序可在以下位置找到
在打开的示例程序中,我们必须进行一个小的更改。默认情况下,该程序将为 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控制台上看到以下内容。
如果程序已成功上传,则您应该会看到绿色 LED 以 1 秒的间隔闪烁,如下面的视频所示。您还可以摆弄程序以增加或减少延迟。现在,您可以像使用任何其他Arduino板一样开始使用STM32(Blue Pill)开发板,也就是说,您不再需要更改跳线的位置或使用外部硬件来上传和测试程序。
相关文章