对于那里的大多数人来说,他们将要研究的第一个嵌入式开发板很可能是Arduino板。但是,正如所有人都同意的那样,您的Arduino只能带您走那么远,有一天您必须转向本机微控制器平台。使用此STM32开发板可以使此过程变得容易得多,因为它可以支持所有Arduino屏蔽板,以在硬件方面为您提供帮助,并且还具有许多内置库和函数在软件方面可以为您提供帮助。熟悉STM32单片机也将帮助您轻松地从ST探索其他开发模块,例如我们前面介绍的SensorTile.Box。因此,在本文中,我们将全面了解STM32 Nucleo-64开发板,并学习如何使用它们。
现在有许多版本的STM32板可用,而我手中的这一特定板称为STM32F401 Nucleo-64。名称STM32表示我们的开发板上有一个32位微控制器,而名称Nucleo-64表示该微控制器具有64针。同样,还有许多其他版本的Nucleo 64开发板,例如STM32F103,STM32F303等,但是一旦您了解了一块开发板,所有其他开发板都非常相似。
STM32 Nucleo 64开发板硬件说明
首先,将我们的开发板拆箱。如您所见,完整的软件包仅包含我们的开发板和说明卡。该说明卡提到了控制器的规格,其引脚排列,在背面,我们还提供了一些有关如何入门以及可用工具链选项的信息。
仔细观察该板,我们可以发现该板分为两个区域。顶部是ST-Link / V2调试器和编程器,底部是您的实际开发板。这样,您就可以轻松地对开发板进行开箱即用的编程和调试,而无需使用额外的USB电缆,该电缆可以连接到板上的USB mini端口。
乍看之下,董事会似乎有很多跳线和组件,但它们的存在都是为了使我们更轻松。您在电路板CN11和CN12的两侧发现的两个跳线实际上是虚拟跳线,如果将来需要,这些跳线可用于其他目的。 CN2上的两个跳线用于将编程器和调试器部分与我们的开发板连接。将来,您可以删除这些跳线,以通过这些引脚将编程器用于其他ST微控制器。并且可以关闭该连接器引脚JP1以将USB电流限制为100mA,如果断开,则最大电流将为300mA。在这里,我们有一个三色LED(LD1),当该板加电时,该灯点亮为红色;当该板成功编程时,该灯变为绿色;当通信失败时,该灯变为橙色。
移至开发部分,我们这里最重要的组件是STM32F401RET6微控制器。这是一个64针32位微控制器,带有一个以84MHz运行的ARM Cortex M4处理器。它还具有512 Kb闪存和96KB SRAM。微控制器具有10个16位和32位定时器以及一个12位ADC。它还具有三个USART,三个I2C,四个SPI和一个USB 2.0用于外部通信。您可以查看STM32F401数据表以获取更多技术信息。
正如我之前告诉您的那样,现在板上有一个有趣的部分,该开发板支持所有Arduino扩展板。该开发板有两组连接器,母引脚用于Arduino屏蔽罩,非常适合我们的ESP8266 Wi-Fi Shield和我们的Semtech Arduino LoRa Shield,如下图所示。
其他公头称为ST morpho引脚,可用于利用我们64引脚微控制器上的铰孔引脚。然后我们在这里有一个重置按钮,一个用户可配置的按钮连接到PC13引脚,这里还有一个LED,与Arduino一样连接到D13引脚。要为电路板供电,我们可以使用USB端口,也可以直接在此处为E5V或5V引脚提供稳定的5V。切记更改此跳线以指示如何为开发板供电。U5V表示该板由USB供电。我们这里还有另一个有趣的跳线引脚,称为IDD,可通过将电流表连接到这些引脚来测量微控制器消耗的电流。
编程STM32 Nucleo 64开发板
进入软件部分,该开发板具有庞大的库和编程支持,并且可以使用Keil,IAR工作台和许多其他IDE进行编程。但是有趣的是,它支持ARM Mbed和STM32Cube开发环境。出于本文的考虑,我决定使用ARM Mbed平台,因为它是一个在线工具,我发现它非常有趣,因为您不仅可以使用它的ST板,而且可以使用许多其他使用ARM微控制器的开发板。
对于新手,ARM MBED是ARM本身提供的在线开发平台,它为您提供嵌入式操作系统,云服务和安全功能,可轻松创建基于IoT的嵌入式解决方案。这是一个庞大的开源社区,要对其进行详细了解,将需要单独撰写一篇文章。
STM32F401入门
但是,要开始使用,请使用USB微型电缆将STM32开发板与计算机连接。通电后,您应该注意到LD1和LD3 LED呈红色亮起,可编程LED LD2将以绿色闪烁,如下所示。
您还将注意到计算机上有一个名为“ NODE_F401RE”的新闪存驱动器。打开它,您将找到两个文件,分别是details.txt和mbed.htm,如下所示。
您可以启动Mbed.htm文件,以使用arm Mbed直接开始在线编程您的电路板。但是,在到达那里之前,我们已经为Mbed安装了必需的驱动程序和注册。搜索STSW-link009驱动程序软件,然后直接从ST网站下载该软件,安装驱动程序,并确保在设备管理器中正确找到该设备,如下所示。
返回您的mbed平台,使用您的凭据在MBED.com上注册。然后,单击MBED.HTM文件,将出现以下页面。
向下滚动并单击“ Open Mbed编译器”。如您所见,编译器已经将我们的平台识别为Nucleo-F401RE,并为我们提供了许多基本的示例程序。现在,让我选择“ LED闪烁代码”并进行修改,以便每当我按下按钮时LED都会熄灭。
如下所示准备好代码后,您可以单击编译按钮,这将为您提供一个bin文件,只需复制该bin文件并将其粘贴到您的闪存驱动器中即可对您的电路板进行编程。编程完成后,您会注意到LD1 LED变为绿色。现在按蓝色按钮,您会发现绿色LED熄灭。这样,您可以尝试任何示例程序来学习开发板的不同功能。您也可以返回主页以获得其他技术文档和社区支持。
您还可以观看此页面底部链接的视频,以查看此评估板上的完整评论。
结论
总的来说,如果您想提高自己的技能并开发高级应用程序,那么这些板是绝佳的选择。借助其实用的硬件支持和在线社区,这些开发板的学习曲线也非常简单,因此您不妨尝试一下。希望您喜欢这篇文章并从中学到了一些有用的东西。如果您有任何疑问,请将其留在下面的评论部分,或将我们的论坛用于其他技术问题。