基于STM32L476RGT6的STM32CubeMX配置与工程创建
STM32L476RGT6基础工程配置指南:1)安装STM32CubeMX和对应芯片包;2)创建项目并选择STM32L476RGT6芯片;3)必做配置:SYS中启用SWD调试接口,RCC中配置时钟(最高80MHz);4)可选外设配置(GPIO/UART/I2C等);5)工程生成设置:选择MDK-ARM工具链,勾选代码生成选项;6)生成代码后在Keil中配置编译器版本和Flash下载选项。注意避免引
基于STM32L476RGT6的STM32CubeMX配置与工程创建
使用STM32CubeMX配置STM32L476RGT6(64引脚)工程的步骤如下,适用于初次配置的基础流程:
一、准备工作
- 安装软件
- 安装 STM32CubeMX(建议最新版本)
- 安装对应芯片的固件包:启动CubeMX后,上方进入
Help -> Manage embedded software packages,找到STM32L4 Series下的STM32CubeL4并安装(包含STM32L476系列支持),多个版本的芯片包,只需要安装一个即可。必须安装,安装完成后建议重启CubeMX进行以下操作。
二、创建新项目并选择芯片
- 打开STM32CubeMX,中间选择Start My project from MCU创建。点击 “New Project” 。有三种创建方式。
- 在芯片选择界面:
- 左侧上方搜索框输入
STM32L476RGT6 - 在中间搜索结果中选择该型号(确认封装为64-LQFP),点击右上角 “Start Project” ,开始项目。
- 左侧上方搜索框输入
三、基础配置(必做)
在项目设置界面,左侧System Core下拉,配置RCC,SYS。此部分具体的配置原理会单独写一篇文章讲解。
1. 调试接口配置(SYS)
为了后续下载和调试程序,需启用SWD接口:
方法一(简单,便捷):在 System Core -> SYS 中,将 Debug 选项设置为 “Serial Wire”(自动占用PA13/PA14)。
方法二:在左侧引脚图中,找到 PA13(SWDIO)和 PA14(SWCLK),右键点击这两个引脚,选择 “Debug” -> “SWDIO” 和 “SWCLK” 。
这里说一下此项配置的意义。简单讲就是给单片机 “分配” 两个专用引脚(PA13/PA14),专门用于调试时的电脑和单片机通信,确保你能正常下载程序、找 bug。
首先理解什么是”Debug(调试)“。使用Keil软件的Debug功能时,程序会根据你的操作,停在某一行指令。并返回当前某个变量的值。对于这一操作,就是让电脑(通过 IDE 软件,如 Keil)和单片机 “对话”,电脑可以给单片机发命令,单片机可以给电脑回传信息。这种 “对话”(通信) 需要硬件接口来实现,而 “Serial Wire” 就是 STM32 常用的一种 “对话方式”。
什么是“Serial Wire” ?它是 ARM 公司定义的一种简化的调试接口标准(全称 Serial Wire Debug,简称 SWD),只需要 2 根线就能实现调试功能:SWDIO:负责 “数据传输”,SWCLK:负责 “时钟同步”。
为什么要在 “SYS” 里设置?STM32 的引脚(比如 PA13、PA14)默认可能被当作普通的 “输入 / 输出引脚”(比如接 LED、按键)。但当你在 System Core -> SYS 里把 Debug 选项设为 Serial Wire 时,单片机就会 “专用” PA13 和 PA14 这两个引脚:PA13 强制作为 SWDIO(数据传输线);PA14 强制作为 SWCLK(时钟同步线)。这两个引脚就不再能当普通 IO 用了,专门负责调试时的 “电脑 - 单片机对话”。
如果不设置,PA13、PA14 可能被当作普通引脚,或者调试功能没启用。这时你用调试器(比如 ST-Link)连接单片机时,会出现:电脑找不到单片机(“无法连接目标设备”);程序下载不进去;没法暂停程序、看变量值(等于失去了 “调试” 能力),等等问题。
2. 时钟配置(RCC)
STM32L476最高主频为80MHz,可在数据手册中找到,见《STM32L476xx规格书》第一页Features->Core,具体配置原理会单独写一篇文章。以下是配置步骤。注意!该配置只作为参考,具体配置需要根据硬件、性能要求等具体设置。
1、进入 System Core -> RCC:
若用到外部时钟,勾选 High Speed Clock (HSE)(外部高速时钟,若使用外部晶振),选择 Crystal/Ceramic Resonator 。
若仅用内部时钟,保留 High Speed Clock (HSE) 使能(默认Disable) 。
2、上方进入 Clock Configuration 标签:
若硬件上已经外接了8MHz 的 HSE 晶振(勾选了HSE Clock并选择Crystal/Ceramic Resonator),那么优先用HSE 作为 PLL 输入源(精度比内部 HSI 更高)
- PLL来源选择
HSE或HSI(根据硬件决定) - 配置PLL参数:确保
PLLN、PLLM、PLLR计算后,System Clock Mux输出为 80MHz(例如:HSE=8MHz → PLLM=1 → PLLN=20 → PLLR=2 → 8*20/2=80MHz) - 确认
HCLK、PCLK1(APB1,最高80MHz)、PCLK2(APB2,最高80MHz)频率正确

四、外设配置(按需选择)
以常用外设为例,说明配置方法。此部分由AI生成,可能与实际标识有出入。
1. GPIO(如LED、按键)
- 假设使用
PC13作为LED输出(低电平点亮):- 在引脚图中找到
PC13,右键选择 "GPIO_Output" - 进入
Configuration -> GPIO -> PC13:GPIO mode(工作模式):Output Push PullGPIO Pull-up/Pull-down:Pull-up(避免悬空)Maximum output speed:Low(LED无需高速)
- 在引脚图中找到
2. UART(如USART2)
- 假设使用
PA2(TX)和PA3(RX)作为USART2引脚:- 进入
Connectivity -> USART2,模式选择 “Asynchronous”(异步模式) - 自动分配引脚(或手动指定PA2/PA3,需确认引脚复用功能)
- 配置参数:
Baud Rate设为115200,Data Width8位,无校验位,1停止位 - 若需中断,在
NVIC Settings中勾选USART2 global interrupt
- 进入
3. SPI/I2C(如I2C1)
- 进入对应外设(如
Connectivity -> I2C1),选择模式(如I2C) - 配置引脚(如
PB6=SCL,PB7=SDA),设置速率(如100kHz)
五、工程生成设置
-
上方进入
Project Manager标签:-
Project 选项:
Project Name:输入工程名(如STM32L476_Project)Project Location:选择保存路径(千万注意!避免中文路径!)Toolchain/IDE:选择使用的IDE(如MDK-ARM对应Keil,STM32CubeIDE等),这里选择MDK,最新版本
-
左侧Code Generator 选项:
第一个框中
选择第二项:Copy only…
第二个框中
- 勾选第一项
Generate peripheral initialization as a pair of '.c/.h' files per peripheral(外设代码分文件存放) - 勾选
Keep user code when re-generating(重新生成时保留用户代码) - 勾选第三项Delete…
- 勾选第一项
-
六、生成代码
点击右上角 “GENERATE CODE”,等待CubeMX生成工程文件。生成完成后,可选择中间选项,点击 “Open Project” 直接打开工程。
七、Keil软件配置
在Keil界面,点击魔术棒。
Debug右上角Setting。第三个Flash Download,选上Read and Run
Target右上角ARM Compiler。选择第一项:版本6。选择已安装的AC版本,我是如果安装了ac6,没有安装ac5。
八、注意事项
- 引脚复用冲突:配置外设时,若提示引脚已被占用,需在引脚图中重新分配未使用的引脚
- 时钟树验证:生成代码后,可在
main.c中查看SystemClock_Config()函数,确认时钟配置正确
通过以上步骤,即可完成STM32L476RGT6的基础工程配置,后续可在生成的代码中添加具体业务逻辑。
点个赞支持一下博主吧!
更多推荐



所有评论(0)