【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正在闪烁。

相关推荐
今天的你比昨天进步了?3 小时前
单片机程序,keil可以正常编译,VScode编译报错处理
vscode·单片机·嵌入式硬件
linbaiwan6664 小时前
42V/50V/60V高耐压OVP保护芯片的应用——PW1600实测70V耐压
嵌入式硬件
嵌入式小站4 小时前
STM32 零基础可移植教程 24:SPI Flash 读数据,先从指定地址读几个字节
chrome·stm32·嵌入式硬件
崇山峻岭之间5 小时前
单片机汉字显示实验
单片机·嵌入式硬件
guygg885 小时前
基于C# + Halcon的通用ROI绘制工具
stm32·单片机·c#
yugi9878385 小时前
基于 RFID 的智能公交刷卡系统
stm32·嵌入式硬件
点灯小铭6 小时前
基于单片机的雨量检测智能汽车雨刮器模拟系统设计与实现
单片机·嵌入式硬件·汽车·毕业设计·课程设计·期末大作业
三佛科技-134163842126 小时前
腕式血压计方案开发设计,腕式血压计MCU控制芯片选择
单片机·嵌入式硬件·物联网·智能家居