1. 搭建FOC控制开发环境

任务目标

本案例完成BLDC FOC开发的前置环境搭建:安装STM32CubeIDE与Motor Control SDK(X-CUBE-MCSDK),创建最小STM32工程并点亮板载LED,以此验证工具链、调试器连接及烧录链路均可用。

所需环境与依赖

  • 硬件:NUCLEO-G431RB开发板(板载ST-LINK调试器)
  • 软件:STM32CubeIDE 1.15.0及以上(含STM32CubeMX),X-CUBE-MCSDK 6.2.0(FOC电机控制SDK,本案例仅需安装,不调用其库)
  • 驱动:ST-LINK USB驱动(STM32CubeIDE安装时自动附带)

操作步骤

  1. 从ST官网下载并安装STM32CubeIDE,安装过程中勾选STM32CubeMX组件。
  2. 从ST官网下载X-CUBE-MCSDK,通过STM32CubeMX的Embedded Software Manager在线安装,或直接运行离线安装包。安装完成后在CubeIDE中确认SDK出现在Help > About > Installed Software列表。
  3. 打开STM32CubeIDE,选择File > New > STM32 Project,在MCU选择器中输入STM32G431RB,选中后点击Next。
  4. 输入工程名LED_Blink,点击Finish,等待CubeMX初始化完成。

关键完整代码

在CubeMX图形界面中完成以下引脚配置:

  • PC6设置为GPIO_Output(NUCLEO-G431RB板载LED2,低电平点亮)
  • 调试接口保持默认Serial Wire(PA13/PA14)

配置完成后点击Save生成代码。在main.c的while(1)循环中添加以下代码:

/* USER CODE BEGIN WHILE */
while (1)
{
  HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_6);
  HAL_Delay(200);
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */

编译与烧录

  1. 点击工具栏锤子图标编译工程,确认Console窗口输出Build Finished且无错误。
  2. 用USB线连接NUCLEO-G431RB的ST-LINK USB口到电脑。
  3. 点击绿色播放按钮(Debug),在弹出的配置窗口中保持默认设置,点击OK。CubeIDE将自动烧录固件并进入调试模式。
  4. 点击红色停止按钮退出调试,板卡复位后程序独立运行。

验证方法与判定标准

  • 编译通过:Console窗口无error,仅有0个警告或可忽略警告。
  • 烧录成功:Debug启动后IDE无报错,Console显示Download verified successfully。
  • 功能正确:退出调试模式后,板载LED2(绿色,PC6)以约2.5Hz频率闪烁(亮200ms灭200ms)。若LED常亮或常灭,检查PC6是否配置为输出且代码位于while(1)内。

常见问题

  • 烧录时报No ST-LINK detected:检查USB连接,确认设备管理器中识别到ST-LINK;若仍失败,在CubeIDE的Window > Preferences > ST-LINK中更新固件。
  • 编译报找不到头文件:确认工程已由CubeMX生成,且main.h中存在#include "main.h";若手动添加过文件,检查Include路径。
  • LED不闪烁但程序在跑:用调试模式在HAL_GPIO_TogglePin处设断点,单步执行观察PC6输出电平是否翻转;若翻转但LED不亮,检查硬件跳线JP3(若存在)是否将LED连接到PC6。