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

相关推荐
shijuejianceliu2 小时前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机
Zw-awa6 小时前
OLED为什么能显示字:软件I2C换成硬件I2C
stm32
不脱发的程序猿6 小时前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
FPGA小迷弟10 小时前
FPGA 与千兆以太网校验和:从原理到 Verilog 实现
嵌入式硬件·fpga开发·无人机·ai编程·fpga
Zw-awa20 小时前
协议是人为约定:同一个字节能有三种意思
stm32
国科安芯1 天前
83 倍:ASC0108S 在推挽和开漏之间,差的不是速度,是回程
单片机·嵌入式硬件·架构·电平转换·抗辐射
国科安芯1 天前
从遥控到自治:ASP4644S2B支撑星载电源健康管理与容错配电
网络·单片机·嵌入式硬件·安全·dcdc·低轨卫星·商业航天
rhythm-ring1 天前
《汽车热管理系统:电子水泵单线PWM双向诊断机制》
单片机·嵌入式硬件·汽车
Dev_XH1 天前
【成品设计】基于物联网的车间安全生产监控系统设计
stm32·单片机·嵌入式硬件·物联网
xiebs_1 天前
【无标题】111
单片机