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

相关推荐
FreakStudio8 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484913 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150013 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼13 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
牛根生同志13 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
wohoo_wangzi13 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
goldenrolan13 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘13 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展13 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件