使用 STM32CubeIDE 开始基于 STM071G32RB Board 的项目

使用 STM32CubeIDE 开始基于 STM071G32RB Board 的项目

查看我们的 控制板!

开始使用基于 32 位 ARM 的微控制器总是有点令人生畏。 可用的微控制器、平台、开发板、工具和软件太多了。 本笔记逐步介绍如何开始 LED 项目。

入门:关于开发板STM32G071RB

特色:

  • 核心:Arm® 32 位 Cortex®-M0+ CPU,频率高达 64 MHz
  • 高达 128 KB 的闪存,36 KB 的 SRAM
  • 具有灵活映射的 7 通道 DMA 控制器
  • 12 位、0.4 µs ADC(最多 16 个外部通道)
  • 两个 12 位 DAC,低功耗采样保持
  • 两个 I2C,四个 USART,一个低功耗 UART,两个 SPI

 

入门:安装STM32CubeIDE

您可以下载 STM32CubeIDE 来自他们的 st.com。 免费。 安装STM32CubeIDE如下 STM32CubeIDE 安装指南。

 

您的第一个项目:LED 闪烁

在开始编写代码之前,我们需要创建一个项目。 这与大多数其他 IDE 类似 - 项目用于将您的所有设置、代码和定义捆绑到一个集合中,所有这些都由同一应用程序管理。

 

 

STEP 1: 开始一个新项目,从左上角的图标(或者在菜单 File > New > STM32 Project 下)开始。

 

第二步:项目名称:G2_LED,然后点击Finish按钮。

从原理图可以看出LED4由STM32G071控制,端口为PA5。

步骤 3:从 System Core > SYS,选择 Serial Wire,将 PA5 设置为 GPIO_OUTPUT。

将 PA5 的使用标签设置为 LED_GREEN,如下所示:

 

第 4 步:然后生成代码。

 

开发此功能的 CubeIDE 在 Src 目录下生成要使用的 C 文件,并将 HAL(硬件抽象层)放入 Includes 目录中。 CubeIDE 的工作方式似乎完全相同。 展开项目视图下右侧的文件夹,看看它为您生成了什么。

 

 

第 5 步:现在让我们添加一点我们自己的 C 代码吧! 在无限循环区域之后,我们将添加代码来切换第 3 部分下的 LED,如下所示:

 

 

编译项目并下载到开发板

实际上,STM32CubeIDE 可以很容易地编译我们的工作并将其放到 STM32 芯片上。 第一步是生成编译后的 .elf(我们代码的二进制版本)。 要生成 .elf,我们需要进行构建。 这就像按下工具栏上的构建按钮一样简单。

现在,构建信息显示在屏幕底部的控制台中。

现在我们要做的是将这个编译好的二进制文件发送到 STM32 微控制器上。

让我们插入开发工具包:

红色电源 LED(蓝色开关左侧)亮起,较大的通信 LED(通过 USB 电缆)也亮起。 在 STM32CubeIDE 中,选择运行按钮。

这将打开运行对话框(因为这是我们第一次运行它)。 我们现在选择的设置将保存为运行配置,我们可以在以后重新使用或编辑。

只需按应用然后确定,下载就会继续。 控制台现在将填充一些有趣的文本:

LED 每 500 毫秒打开和关闭一次。 你已经准备好了一切。

STM32 与 Arduino

STM32 与 Arduino

查看我们的 控制板!

 

Arduino的

Arduino比较有创意,它弱化了特定硬件的操作,它的功能和语法都很简单,而且很“笨”。

Arduino 的主要控制大部分是 AVR 微控制器。 Arduino的优点是代码封装性高,语句少,降低了软件开发的难度。

Arduino上手比较容易,只要懂一点硬件和C++,就可以开发。

Arduino的大部分功能都有完善的库,所以使用起来非常简单,但稍微复杂的功能的可控性较差。 

 

STM32

STM32更注重工程实践。 其实工厂里有很多简单的仪器,比如温控器、普通电机控制器、低端PLC,还有一些民用玩具、游戏控制器、有线键盘鼠标等外设等等都很实用。

STM32主要用作专业开发者的产品,需要一定的专业知识,但同时编写代码实现功能也相对复杂。 比如串口输出一个简单的字符串。 对于Arduino来说,可以从一个新项目开始,10行代码就可以实现。 但是,如果使用 Keil 等 STM32 开发工具,则可能需要数百行或更多代码。

开源方面:STM32做的东西,想开源就可以开源,不想开源就不能发表。

 

结语

 

以下是一些选择建议:

如果你是一个大学以下的普通学生,对编程语言的理解不是很深,建议先上手Arduino。 如果C技能薄弱,想出STM32,你很快就会有放弃的念头。

如果只是为了就业而学习,果断STM32单片机。

如果您只是为了好玩而学习并且您不是电子专业的专业并且没有信心,那么建议您使用Arduino。

如果你有很好的编程能力,建议使用STM32。 做完之后可以看看Arduino开源社区做的东西,用STM32就可以轻松搞定。

当然,如果你有能力,你可以联系两者。 一般不到一周就可以掌握Arduino的基本功能。 如果以后需要,可以将Arduino代码自由移植到STM32等MCU平台。

事实上,两者实际上针对的方向略有不同。 Arduino 是一般电子爱好者和 DIY 的选择,而 STM32 经常用于实际产品的开发和制造。