如何使STM32CubeMX新建工程

2024-08-20  

运行STM32CubeMX工具。

单击新建项目或菜单-》文件-》新建项目。


从Board Selector部分,过滤以选择和使用 NUCLEO-L476RG 板:

检查Nucleo64类型。

检查MCU 系列上的STM32L4。

使用板选择器选择NUCLEO-L476RG板:

单击启动项目继续。

AnswerYes使用默认模式初始化所有外围设备?弹出窗口。

2引出线配置↑

在SYS peripheral下的Pinout选项卡中验证SerialWire是否被选为 Debug 接口: 相应的引脚 PA13 和 PA14 已自动分配和配置。 选择板后,STM32CubeMX 允许自动为板设置引脚分配,包括通信接口、LED 和其他功能的引脚分配。 (要配置 LED 引脚,请查看STM32 Nucleo-64 板用户手册和STM32L476xx 数据表,查看要使用的 LED 引脚)。

500px-PinOut_Tab.png

25px-Info_white.png

信息

要查看信号的备用引脚,请在按住 Ctrl 键的同时将信号拖放到引脚。

此示例显示了将 NUCLEO-L476RG 板上的绿色 LED 引脚 LD2 用作 GPIO_Output。

要验证 LD2 是否设置为 GPIO_Output 模式:

在 Find 字段中键入“LED”,并检查 LD2(绿色 LED)是否作为 GPIO_Output 启用到 PA5 引脚。

找到后,与搜索条件匹配的引脚会在 Chip 视图中闪烁。

单击芯片视图以停止闪烁。可以直接从引出线视图设置信号:

25px-Info_white.png

信息

引脚搜索字段允许用户在引脚视图中搜索引脚名称、信号名称或信号标签。找到后,符合搜索条件的管脚或管脚组会在芯片视图中闪烁。单击芯片视图,停止闪烁。

3时钟配置↑


在Clock Configuration选项卡中,检查 STM32CubeMX 是否使用 PLL @80MHz 自动配置时钟系统中的内部振荡器,并建议 PLL 配置如下:

1. PLL Source Mux 中选择的 HSI(HSI – 高速内部时钟)

2. PLLCLK在系统时钟多路复用

器 3 中选择。HCLK 设置为 80

500px-Clock_Tab.png

4 GPIO配置↑


要配置 GPIO,请单击配置选项卡中的 GPIO 按钮以打开 GPIO 配置窗口。 在GPIO选项卡中,选择 Pin Name 列PA5以显示相应的 GPIO 参数和配置以驱动 NUCLEO-L476RG LED:

500px-PinOut_Conf.png

GPIO 输出电平:默认为低电平,可更改为高电平。

GPIO 模式自动将具有相关复用功能的引脚和 GPIO 配置为输出推挽模式。

GPIO Pull-up/Pull-dow设置为No pull-up 和 no pull-down默认情况下可以配置当允许其他选择时。

GPIO最大输出速度默认设置为低功耗优化可以更改为更高的频率以满足应用程序要求。

用户标签是分配给 GPIO 的名称。可以通过“查找”菜单在此名称下找到 GPIO。

500px-PinOut_Set.png

单击“应用” ,然后单击“确定”关闭窗口。

5配置工程并生成源码↑


切换到“项目管理器”选项卡以配置项目。在“项目”选项卡中:

填写项目名称和项目位置字段

将工具链/IDE设置为STM32CubeIDE。

在代码生成器 选项卡中,确保选中以下选项:

在STM32Cube Firmware Library Package部分:Copyall used libraries into the project folder。

在Generated filessection:Keep user code when regerating the C code选项,仅适用于 STM32CubeMX 生成文件中的用户部分。

在 STM32CubeIDE 中生成工程:

单击生成代码。

单击打开项目以使用 STM32CubeIDE 打开项目。

6编辑 main.c 以切换 LED↑

在STM32CubeIDE中,从 Project Explorer 选项卡打开 Src 文件夹中的 main.c 文件,并使用 HAL 函数和 STM32CubeL4 固件包为 LED 闪烁添加足够的函数。

500px-Code_Panel.png

要了解 HAL 函数的用法,请参阅UM1884 “STM32L4/L4+ HAL 和低层驱动程序说明”用户手册,其中提供了常用函数和通用函数。

500px-HAL_GPIO_Help.png

用户代码可以添加到 main.c 文件中,在/* USER CODE BEGIN 3 */和/* USER CODE END 3 */部分之间的while (1)循环内(这将在重新生成后保留您的代码)。

对于 LED 切换,使用这些功能:

HAL_GPIO_TogglePin ( GPIOA , GPIO_PIN_5 ); HAL_延迟 (100 ); /* 插入延迟 100 毫秒 */

500px-Code_Panel_Highlight.png

7构建项目↑

要为 NUCLEO- L476RG

供电,请使用其 CN1 连接器通过 USB Type-A 转 Mini-B 电缆连接到计算机。

从项目资源管理器中单击项目,然后右键单击并选择Build Project以编译项目(或单击工具栏上的Build 按钮)。

8调试项目↑


单击 Build工具栏图标

pYYBAGPXbkKAL7SCAAADTVPJoVA607.png

,然后 单击Debug 按钮

poYBAGPXbkKAEoiwAAADFkJs-UA870.png

以构建项目并启动调试会话(或在菜单中选择Project》Build Project然后Run》Debug)。

单击Resume图标

20px-Run_Button.png

继续执行。

现在观察 Nucleo-L476RG 板上的绿色 LED (LD2) 切换。

现在您可以:

使用 STM32CubeMX 创建一个新项目。

在STM32CubeMx中配置工程并生成初始化代码。

使用 HAL 函数更新 STM32CubeIDE 中的项目代码。

在调试模式下执行项目。

让 LED 闪烁。

400px-CodeGenerator_Popup.png

300px-Generator_title.png

500px-CodeGenerator_Tab.png

500px-Project_Tab.png

500px-PinOut_Focus.png

500px-Board_Selection.png

poYBAGPXbkWADLZxAACtKDWeAQY065.png


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