【STM32】使用 STM32CubeMX 生成项目,LED测试;上位机:STM32F411CEU6

总览

1.前置文章

2.使用 STM32CubeMX 生成项目

一、前置文章,配置环境

1.URL

https://blog.csdn.net/qq_43768851/article/details/161792706?spm=1001.2014.3001.5501

二、使用 STM32CubeMX 生成项目

1.选择 MCU 创建项目

ACCESS TO MCU SELECTOR -> 选择MCU型号 -> Start Project

三、配置 MCU 参数

1.设置主频

设置为最高,100MHZ。

2.调试接口配置

System Core → SYS → Debug → 选择 Serial Wire

3.外部时钟源配置

System Core → RCC → High Speed Clock (HSE) 还有 Low Speed Clock (LSE) → 选择 Crystal/Ceramic Resonator

4.SPI1 通信配置

因为外部 IMU 都采用了 SPI 通信方式(磁力计RM3100 & 加速度陀螺仪ICM45686)

所以,它们的 SPI 共用总线,只需要给它们分配不同的 CS 引脚。

Parameter Settings

DMA Settings

NVIC Settings 中断设置

GPIO Settings

5.TIM2 定时器设置

Parameter Settings

NVIC Settings

6.CS引脚手动配置

另外,为了先验证,我们将 PC13 设置为 LED 小灯,以验证环境和编译没有问题。

查看GPIO配置,核对。

7.项目导出设置

四、vscode 编码

1.vscode自动加载 cmake

加载后,选择左侧 CMake 图标,然后 configure 改成 Debug

2.更改main.c代码

c 复制代码
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); // 根据你的LED引脚修改,如果是PC13则改为 GPIOC, GPIO_PIN_13
    HAL_Delay(50);  
  }
  /* USER CODE END WHILE */

3.配置 Cortex-Debug 文件

左侧选择 bug虫子图标 -> create a launch.json file -> Cortex Debug

文件内容参考:

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "STM32 F411 Debug", 
            "cwd": "${workspaceRoot}",
            "executable": "${workspaceRoot}/build/Debug/STM32F411CEU6_IMU_TEST.elf", 
            "request": "launch",
            "type": "cortex-debug",
            "runToEntryPoint": "main", 
            "servertype": "openocd",
            "device": "STM32F411CE", 
            "configFiles": [
                "interface/stlink.cfg", 
                "target/stm32f4x.cfg"
            ],
            "svdFile": "" 
        }
    ]
}

4.编译 并 烧录 并 调试

删掉整个 build 目录,然后点击下面的 build(可能会报错如下,但不用管)

build 目录重新生成后,使用 Cortex debug 进行烧录 & 调试

卡在断点上,就点击继续运行就可以了。

然后就能看到我们的代码生效了,LED正在闪烁。

相关推荐
HRTOS12 分钟前
HRTOS 4.0 Driver Library:03_Sensor 传感器驱动
驱动开发·单片机·嵌入式硬件·51单片机
youcans_18 分钟前
【嵌入式软件AI编程】01. 基于 STM32/Claude Code的AI编程
stm32·mcu·嵌入式·ai编程·claude code
小麦嵌入式23 分钟前
FPGA入门(十一):受控线性序列机 UART 发送升级
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件工程
jianqiang.xue1 小时前
ESP-IDF保姆级入门29|FreeRTOS任务管理与调度全解:任务创建/状态切换/优先级调度/双核负载均衡/实时性优化,掌握嵌入式多任务编程核心
stm32·单片机·mcu·物联网·51单片机·iot
自小吃多1 小时前
PCB Editor软件走线、修线操作笔记
笔记·嵌入式硬件
闪亮的屁灯儿2 小时前
DMA 学习复盘笔记
stm32
新晨单片机设计3 小时前
S008A-基于STM32单片机八路抢答器(数码管)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
米饭不加菜3 小时前
STM32——数码管显示
stm32·单片机·嵌入式硬件
梵亿3 小时前
基于 STM32F103C8T6 的无人机低功耗设计与实现
stm32·嵌入式硬件·无人机·低功耗
hrw_embedded4 小时前
Keil开发与STM32Cube开发的差异点总结(未完待续)
stm32·单片机·嵌入式硬件