您好!欢迎来到一线生活-深圳论坛
关注我们
扫码关注官方微信
手机版
手机扫描直接访问

使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

2022-12-30 13:03| 发布者: 前程无忧| 查看: 134| 评论: 0

摘要: 许多电子爱好者和工程师开始接触电子产品时,Arduino是他们的第一块开发板。然而,随着接触越多和深入挖掘,很快就意识到 Arduino 还没有为工业做好准备,而且它的 8 位 CPU 的速度非常慢,不能为您的项目提供足够的 ...

许多电子爱好者和工程师开始接触电子产品时,Arduino是他们的第一块开发板。然而,随着接触越多和深入挖掘,很快就意识到 Arduino 还没有为工业做好准备,而且它的 8 位 CPU 的速度非常慢,不能为您的项目提供足够的动力。

不过,现在市场上有新的STM32F103C8T6 STM32开发板,它拥有 32 位的 CPU 和ARM Cortex M3 架构可以轻松超越 Arduino 。并且我们可以使用Arduino IDE对STM32板进行编程。

在本文中,我们开始使用 STM32F103C8T6,了解有关此板的一些基础知识并使用 Arduino IDE对其编程, 实现板载 LED 灯闪烁。

STM32(Blue Pill)开发板介绍

STM32F103C8T6 开发板是 ARM Cortex M3 微控制器的开发板。它看起来与 Arduino Nano 非常相似,如下图所示。


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

它上面的单片机芯片是 STMicroelectronics 的STM32F103C8T6,该MCU 可以在深度睡眠模式下运行,非常适合使用电池供电的应用。

由于 MCU 的工作为3.3V,因此该板还包含一个 5V 至 3.3V 的降压 IC为 MCU 供电。即使 MCU 在 3.3V 下运行,它的大多数 GPIO 引脚都可以承受 5V。

开发板上有两个板载 LED,一个(红色)用于电源指示,另一个(绿色)连接到 GPIO 引脚 PC13。它还有两个插针引脚(跳线帽),可用于切换不同的模式。


STM32 引脚详情

STM32 Blue Pill 板的完整引脚如下所示。正如你所看到的,G 表示接地引脚,3.3V 输出稳压 3.3V,5V 引脚可用于为电路板供电或通过微型 USB 获得+5V供电。板载 LED 连接到微控制器的 PC13引脚。


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

与 Arduino 板不同的是,STM32 通过 boot 1 和 boot 0 切换不同模式。

一般情况下,Boot 1 的位置通常保持不变,把boot 0 跳线设置为 3.3V 用于串口下载,或者设置为接地用于上电或复位后进入正常工作。

如何编程 STM32F103C8T6

STM32 只是 STMicroelectronics 系列的另一个微控制器。因此,现有的 ARM 芯片编程方法也可以用于 STM32 板。

Keil ARM MDK 是一种著名且常用的 IDE,除此之外我们还可以使用 IAR workbench、Atollic TrueStudio、MicroC Pro ARM、Crossworks ARM、Ride 7、PlatformIO+STM32 等。

但是,使该板广受欢迎的原因之一在于它能够使用 Arduino IDE 进行编程。许多arduino爱好者通过这种方式,可以立即开始使用 STM32 构建项目,因为他们熟悉 Arduino IDE 及其易于使用的编程语言和现成的库。所以这篇文章中,我们使用Arduino IDE 开始 STM32。

FTDI连接图

使用 Arduino IDE 对 STM32 Blue Pill 板进行编程,我们需要使用串行板FTDI。该板连接到 STM32 的 Rx 和 Tx 引脚,如下所示。


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

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


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

为 STM32准备 Arduino IDE


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

第 1 步:安装Arduino IDE。

安装步骤(略)

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


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

第 3 步:单击“首选项”将打开下面显示的对话框。在 “附加开发板管理器网址”文本框中粘贴以下链接,点击 “好”。

http://dan.drown.org/stm32duino/package_STM32duino_index.json


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

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


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

第5 步: - 安装完成。转到“工具”并向下滚动找到通用 STM32F103C 系列,选中如下图:


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

第 6 步: 现在,将 FTDI 板连接到计算机,并在设备管理器检查 FTDI 板连接到哪个 COM 口。然后,在“工具”->“端口”中选择相同的端口号:


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

第 7 步: 完成所有设置后,检查 Arduino IDE 的右下角,显示了已经配置的信息。我的 FTDI 板连接到 COM3,但你的可能不同,但是芯片信息确保为 64kFlah 类型,CPU 速度为 72MHz,上传方式为 Serial。


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

到这里 Arduino IDE 已准备好对 STM 32 Blue Pill 开发板进行编程了。

上传示例代码到STM32f103c8t6

让我们将板载LED闪烁示例程序从 Arduino IDE 上传到 STM32 Blue Pill 板。示例程序可以在 文件—>示例 中找到。


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

在打开的示例代码中,我们必须做一点小小的修改。默认情况下,该程序是为PB1编写,但在我们的开发板上,板载LED连接到PC13,因此将所有PB1更换为PC13。最后会给出修改后的完整示例程序。

loop函数内部的代码如下所示,我们可以注意到 PC13 引脚保持高电平(开启)1000 毫秒,然后再转低(关闭)1000 毫秒,高低一直循环。因此,LED 以 1000 毫秒的间隔闪烁。

digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOWdelay(1000); // wait for a second

如前所述,在上传任何程序之前必须将 STM32 板设置为串口上传模式,为此将boot 0 跳线置于低电平。如下所示:


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

确保 boot 0 短接1的位置,然后按下复位按钮,绿色 LED 熄灭,这表明板子已准备好上传。点击 Arduino IDE 上的上传按钮,您的程序应该被编译和上传。


使用 Arduino IDE 编程你的 STM32,开启你的STM32之旅

如果程序成功上传,您应该会看到绿色 LED 以 1 秒的间隔闪烁。您还可以修改程序,增加或减少延迟来改变闪烁速度。

上传程序后,boot 0 应该短接回0位置,这样下次板子上电时,上传的程序就开始自动执行了。

void setup() {  // initialize digital pin PC13 as an output.  pinMode(PC13, OUTPUT);}// the loop function runs over and over again forevervoid loop() {  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 编程STM32有一点帮助。


鲜花

握手

雷人

路过

鸡蛋
推荐阅读
华钠新材董事长蔡伟华:储能的未来藏于固态
在距离比亚迪总部3公里之外的马峦创谷科技企业孵化器园区内深圳华钠新材有限责任公司
我的深圳故事|英国数学教师的“深圳课堂”
她不远万里从英国来到深圳教书在这座朝气蓬勃充满无限可能的城市实现了自己的梦想记者
华为Pura先锋盛典及鸿蒙智行新品发布会
华为Pura先锋盛典及鸿蒙智行新品发布会
深圳五大科创平台开放共享
3月18日,深圳市国资委举办“国企民企同频共振 智汇科技共赢未来”科技创新对接会,现
英国老人从英国来深教书,“这座城市朝气蓬
年过七旬的老外不远万里从英国来到深圳教书,在这座朝气蓬勃、充满无限可能的城市实现
“上午发论文,下午就有投资人找上门”
3月18日,南方财经全媒体刊发文章《穿透巴斯德象限:“四链”融合与深圳的“创新溢价

相关分类

热点帖子
久坐久站易生痔疮,试试这几个方法告别烦恼
bigsilverrabbit久坐久站易生痔疮,试试这几个方法告别烦恼
在这个快节奏的时代,无论是办公室白领还是生产线工人,或者是开网约车的司机等,久坐
得了痔疮怎么办有凸起的小肉球
bigsilverrabbit得了痔疮怎么办有凸起的小肉球
在这个快节奏的时代,久坐不动、饮食不规律等生活习很容易引起健康问题,其中,痔疮成
痔疮是什么样子的有什么症状表现
bigsilverrabbit痔疮是什么样子的有什么症状表现
痔疮,作为普外科常见的良性疾病,其发病率相当高,尤其在年轻人中更为普遍。俗话说“
肛门口有个肉球突出是怎么回事?可能是这几个原因
bigsilverrabbit肛门口有个肉球突出是怎么回事?可能是这几
在日常生活中,不少人可能会遇到这样的尴尬情况:肛门口突然出现一个肉球,不仅影响日
外痔疮肉球怎么消除最快方法
bigsilverrabbit外痔疮肉球怎么消除最快方法
外痔疮肉球,是痔疮的一种表现形式,主要表现为肛门边缘的静脉丛扩张或血栓形成,形成
联系我们

免费联系电话

400-8855-271

客服QQ:2524604571

服务时间:周一到周日8:00-23:30

关注我们
  • 关注官方微信

  • 手机APP