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

发布时间:2023-08-28  

搭载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引脚,如下所示。

poYBAGNqHTeAaJmYAACsc2w1UPQ903.png

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

pYYBAGNqHTqAZfOjAADpCQZVBn8778.jpg

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

pYYBAGNqHTyANZ5yAACTHmBf5A0990.jpg

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

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

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

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

poYBAGNqHT2AZWRnAAAcuqPmEHo746.png

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

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

poYBAGNqHT6AcdcpAAAftgrg6n8137.png

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

pYYBAGNqHT-AVV-xAAAqCGv2xMk440.png

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

poYBAGNqHUGAZZ0sAACHoxGzxkk324.png

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

poYBAGNqHUOAWhneAAAfcMxY-Mo677.png

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

pYYBAGNqHUWAWySHAAAgnF4FpWY192.png

准备 Arduino IDE 并安装驱动程序

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

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

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

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

然后按确定。

poYBAGNqHUeAFtk4AABo3iLI2-o667.png

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

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

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

pYYBAGNqHUiAYgg7AAAl_YOAMXU181.png

 

poYBAGNqHUuAbSrmAAA1mxz0d3A389.png

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

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

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

pYYBAGNqHUyAXRv5AADJVMty0cg894.jpg

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

poYBAGNqHU6AMUDBAABAmu2eeb0665.png

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

pYYBAGNqHU-AfPRFAABzmfxjIYs968.png

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

poYBAGNqHVCAErdfAAAYUtWlLDA740.png

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

pYYBAGNqHVGAZ71DAABxIGAkAoY856.png

在打开的示例程序中,我们必须进行一个小的更改。默认情况下,该程序将为 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控制台上看到以下内容。

poYBAGNqHVOAZVEmAABVexqvINA378.png

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

pYYBAGNqHVSAbUdHAACMuwRaduI204.jpg


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

相关文章

    51单片机“积木式”实验板的制作;这套实验板每块板上的元件数不多,采用万能板和敷铜板丙种方法制作均可,上图中的实物就是用l5xLOCm万能板制作的。主控板的制作要注意的是PO口的引出端,从主控板......
    输入到CY7C68013A的数据是来源于数字信号还是模拟信号经ADC模块之后的数字信号。由于该逻辑分析仪为USB连接,故此在USB连接端口上加入ESD芯片。并在板上增加16 kB的EEPR0M来作......
    采用常见羊角把游戏手柄的外形设计,控制输入采用四向摇杆,无线数据传输采用2.4G无线模块。飞控板采用控制处理核心和机架一体的设计即处理器和电机都集成在同一个电路板上,采用常规尺寸能够采用普通玩具的配件。系统软件的设计同样包括遥控板和飞控板......
    /4 /8 /16”端口输出,分别表示未分频,2分频,4分频,8分频,16分频;具体的电路原理图如图1.19所示 图1.19 20.四路单总线模块 为了适应新技术的需要,增加1-Wire总线接口,在本系统板上......
    电源无法工作,整个变频器无低压直流供电,出现无显示故障。 解决方法:更换降压电阻。 故障检测三:变频器高压LED指示灯亮,主控板上的LED指示灯也亮,说明变频器开关电源正常,主板与主控板上的直流电压显示正常,再用示波器检查主控板......
    电源无法工作,整个变频器无低压直流供电,出现无显示故障。 解决方法:更换降压电阻。 故障检测三:变频器高压LED指示灯亮,主控板上的LED指示灯也亮,说明变频器开关电源正常,主板与主控板上的直流电压显示正常,再用示波器检查主控板......
    。 表贴发光二极管的极性表示方法非常混乱。有时一个厂家内不同封装类型间的表示都五花八门。但是......
    驱动控制器NCV78343、LED驱动器NCV78964、电机驱动器NCV70517为主要器件,以及NBA3N206S M−LVDS PHY,搭载NXP S32K344主控板、安世半导体双通道反相器74LVC2G04......
    串接在跳闸回路中, 一端(一般为下端的动联片)和继电器的接点相连,一端(一般为上端螺柱)和跳闸线圈相连,在继电器没有动作的情况下,压板上端对地为负电平,下端对地没有电平 。如果......
    都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1 位、2 位......

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

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

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

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

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

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

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